<SEC-DOCUMENT>0001558370-20-005056.txt : 20200505
<SEC-HEADER>0001558370-20-005056.hdr.sgml : 20200505
<ACCEPTANCE-DATETIME>20200504175324
ACCESSION NUMBER:		0001558370-20-005056
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		81
CONFORMED PERIOD OF REPORT:	20200331
FILED AS OF DATE:		20200505
DATE AS OF CHANGE:		20200504

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			Primoris Services Corp
		CENTRAL INDEX KEY:			0001361538
		STANDARD INDUSTRIAL CLASSIFICATION:	WATER, SEWER, PIPELINE, COMM AND POWER LINE CONSTRUCTION [1623]
		IRS NUMBER:				204743916
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-34145
		FILM NUMBER:		20846134

	BUSINESS ADDRESS:	
		STREET 1:		2300 N. FIELD STREET, SUITE 1900
		CITY:			DALLAS
		STATE:			TX
		ZIP:			75201
		BUSINESS PHONE:		214-740-5600

	MAIL ADDRESS:	
		STREET 1:		2300 N. FIELD STREET, SUITE 1900
		CITY:			DALLAS
		STATE:			TX
		ZIP:			75201

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	Primoris Services CORP
		DATE OF NAME CHANGE:	20080821

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	Rhapsody Acquisition Corp.
		DATE OF NAME CHANGE:	20060503
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>prim-20200504x10q.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='UTF-8'?>

      <!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 9.6.7401.38943 -->
      <!-- Based on: iXBRL 1.1 -->
      <!-- Created on: 5/4/2020 9:51:10 PM -->
      <!-- iXBRL Library version: 1.0.7401.38955 -->
      <!-- iXBRL Service Job ID: a5e0eddc-be34-4669-a3f9-e4b2f01712cc -->

  <html xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2019-01-31" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:prim="http://www.primoriscorp.com/20200504" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:xbrldi="http://xbrl.org/2006/xbrldi"><head><meta content="text/html" http-equiv="content-type" /><title></title></head><body><div style="margin-top:30pt;"></div><div style="display:none;"><ix:header><ix:hidden><ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" xs:nil="true" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" name="us-gaap:CommitmentsAndContingencies" id="Hidden_tjOvB-PZBky6h3YuKeCPmg"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" xs:nil="true" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" name="us-gaap:CommitmentsAndContingencies" id="Hidden_g_h8SL-wNEi1LnwbMxDfQg"></ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityCentralIndexKey" id="Tc_c5pyzNCqAkqoQxHWOEoEOQ_2_1">0001361538</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:CurrentFiscalYearEndDate" id="Tc_VGoz5k3axk2g_SCgIull0w_3_1">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:DocumentFiscalYearFocus" id="Tc_qnJXkL7WlkazYCjVoTAQYg_4_1">2020</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:DocumentFiscalPeriodFocus" id="Tc_9ITsx1eMakGxcm99dVjhZA_5_1">Q1</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:AmendmentFlag" id="Tc_MjuwF_ZXJk6f4y5fCmi5XA_6_1">false</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_bqTuAbO75U6XaXM3v6yhDA" decimals="-5" name="us-gaap:PartnersCapitalAccountDistributions" id="Hidden_Tyg46aAVyUa4sVZ6Grv-VA">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_PfHnWyiRG0Stv8gRMOqnEA" decimals="-5" name="us-gaap:PartnersCapitalAccountDistributions" id="Hidden_dfo--DGCX0C_4fMlfujtcQ">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_bqTuAbO75U6XaXM3v6yhDA" decimals="-5" name="us-gaap:ProceedsFromMinorityShareholders" id="Hidden_G4A3EsmAs0-5lf1fe7W-ow">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_PfHnWyiRG0Stv8gRMOqnEA" decimals="-5" name="us-gaap:ProceedsFromMinorityShareholders" id="Hidden_LN7sBvOwh0S4ZLviWccTNQ">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="INF" name="us-gaap:CommonStockSharesIssued" id="Hidden_hFXD5kWMwEOcb48HkK7psQ">48665138</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_7LS6h5sGk0OKnthB8tRKCQ">48254575</ix:nonFraction><ix:nonNumeric contextRef="As_Of_3_31_2020_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2020-04-01_GQVRTkDjJE6_yla5uCcUcw" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Hidden_fnOPOmlGxkC0CJEcbfBzDg">P12M</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Hidden__JXUjXF_fUO7A8Od1LSBcw">us-gaap:AccruedLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" name="us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Hidden_YU8jmKS8wUqFjBRDNoo_bA">us-gaap:OperatingLeaseLiabilityNoncurrent</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="prim-20200504.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="As_Of_2_29_2020_x-shwRMOb0GBO7hyW7nj1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_gMw8MOx9OkKszJwWwf-lyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_s9-nFPIh-0G4FBJPghqPyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Quj6nCf540uKRpgXlNtcxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_gsr4UjZmC0igbeSPYHVD9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_6_zdSVeeVECaLnvLtVw7yg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_309aR4C2ckq5KPv-P8LaZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zywOvqclXUO_YxA783HLqQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_4keRjePzk06EVLeS-3ZrAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_kyafOJKauEWQ05vckZzX7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QP1_UDuxrUOqsmY-PIwesA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_t9cywGXHwUu6kcA7hL0ieA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_HWwisHfqBUeJPdLX34peBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_VJSsOg7ML0e6q-NZvFnm5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_62rPEKeKdE-u74ZczWKjDw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_auZIDVeeaEyNfAn1LZl2bA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_WnDTPOEv90ybNwg-WesYNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_YcxDFztXrU6eNrqRCCqv3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_SsY5YYUjMkqyDws2ZbO8mg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_k7h8_liM3ESDdhs4XF4ICQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Rv7Jqn0xzUKc3gv2VwHwnw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hLyD84j6zk-Js9famkuJYw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_qzRK51STIk-KH3qH8F940g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Ae3lZQItx0K2-mvFHkql1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5mGWNOYUnE-shy_TQPGp3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_5_1_2013_To_9_30_2019_srt_TitleOfIndividualAxis_srt_ExecutiveOfficerMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_S1fYm4bIeUmB-U95DnwRrg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-05-01</xbrli:startDate><xbrli:endDate>2019-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2020-04-01_GQVRTkDjJE6_yla5uCcUcw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2020-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_ICiF_MM2IU6AQRzn-HXucg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_ULdsI2rzwkqYa1P-OiBMAg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_2pdqWWvRPUuWv5CBjT6zNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_vcIjirThkU2jS627cwZ8SQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_l5sC4lS1GEaQOcM6YQIHcQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_ipQo5PacJEaNojKlqEgM_w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_yZJyyipZJ0uiSZw2r_I8EQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_R-QeJ-NuJ02zI4VJMufJOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_e1_JU22DG0y7fA3MdjrFVA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_9MpD3Jw7z0-JvR97ax2lZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_DEXeldcFHkmO61_pLytQPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_RbxR4yzRmkmXhep3vHlfAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_MvTx-EBn5kaLBCR-E_K6bQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ByT2cVN--Eir2PlM7pwCNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ojcu7VqickuIKwmzrKNfbQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_8GrSMUy1bkqpOUjjwvIW6w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_eIkKn7nOcEedJA7VjsNSKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_oFZCPIcx8kOapBR-jiBd2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_wU3iyFTnKEWAjcECet9-Fw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_dhWzdtFiu0ylcXdtNPHv1w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_yqaSwHCIM0-v5_o_obdgMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_OLuor70oWkOOR8mSGPVOJg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_DlV9FyifVUaZfRV9rZfVmg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ujIQPKSyME2STmcKwYrSHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_lN-JqCcwwUiecqdF5S2v3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_paif7KgojEOhpclTKpKcNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_bn_826A-iEiuP44L8SjF7w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_SENgaCYNCEeANXDOay_Y-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_unR9ANzWFUC3IdUy1d6CwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_vBzJkr8EQkedVVCAiz-rQg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_BqgkymYNmU28rqtjylACgQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_-ct_pGiMeE20gjdimSwYiQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_iJWx8qlgLEWHbpmUJKfU6A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_iJurGRJYq0GGjNA9nXrdMA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_-MrlejeovkW46I_j0cgUFA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_kiukZSYdcUGnMEvGhHAvfg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Q8POx_H8XkKxR1Zwy3gn-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_N8m0YMptGkmogEKeY2ME-g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_OnQLsr5iUEeT8Vx7jKYDGA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_an2oLxY8PkudCrp5HAmYfA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_3eLcR0pISEa5G8f4kPaEqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember__hz4QAH-LkuA5z06RwbRWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_tqM14KbR_ECU3jjXGOSyww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_C37MQgbQj02h9d3ERvzvLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_x0-QbSv-BEiAIZfaeiZcjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_OYPcN47R70KP_xP5VMHAWQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_M6KO2vhI_U6UX7CLLleL5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_Ic8Euc0fykaxHR4OC5Uayg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_1GU4yyV04kSyAm_2o1wJ3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_f5W4FyIy7ki_AljdCTAbzg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_XvDiEMv21EulY3q56zexJw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Lv18uSsUw0CQm1WAeUeUqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_VR0PqCOtPUmMWn0kkhWhPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ukgEnopK2kC-nf2aiASopg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_gXm08UiE_kiwqLvgSo3RtQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_Pa6jraMpyUqQZil-4dkCWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_ymgSC9ogQU6nUFOjMB6MLg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_1FI4Z8DdZUalaJ9STNRmFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_JCmV75Lj7UynO2HEVhNAHg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember__nR2NkjKq0uku-ipEksxIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_TGSKdnOgJkK8W3K5P-gLGw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_6Ke8_r6X50CQx5s-7TNlAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_4iVKQ7sd2EuJ0qwkgnc0Yg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_PfHnWyiRG0Stv8gRMOqnEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableInterestEntitiesByClassificationOfEntityAxis">prim:CarlsbadConstructorsJointVentureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_bqTuAbO75U6XaXM3v6yhDA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableInterestEntitiesByClassificationOfEntityAxis">prim:CarlsbadConstructorsJointVentureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_srt_OwnershipAxis_prim_CarlsbadConstructorsJointVentureMember_ShSeZLNsy06lRSucjW6V4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">prim:CarlsbadConstructorsJointVentureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember__WghLiqXmUqDp8Bvg7ppqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_MortgagesMember_HclSayWEYkGjH2wXNwgXmA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MortgagesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_LoansPayableMember_k__8EhZdik2RGzu4TTO4yg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_MortgagesMember_2zMOQz-kmUWIRHKdZMHsXg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MortgagesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_LoansPayableMember_3DGZkPgcZEqlg0IGFeGF-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_-KhC87ZDp0ywYKA-ahqYqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_us-gaap_LoansPayableMember_Ar0eOKE_-UiDbSX7KQ9qvg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithCanadianBankMember_dJ1hOabej06ZRvxVqPF53g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithCanadianBankMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_GHhjXH-41UOUr6EzZBY52A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CanadianCreditFacilityCibcMember_nbNC3SYoMk-8JWav39d9bQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CanadianCreditFacilityCibcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_LetterOfCreditMember_ft2O3l7eVky5GAGfMEF4ew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithCanadianBankMember_us-gaap_LongtermDebtTypeAxis_us-gaap_LetterOfCreditMember_t1YwmsYFZUCbfBN5Mhbu3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithCanadianBankMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_srt_RangeAxis_srt_MaximumMember_dqOlgF_sN0u3j9wIGHdmtA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_9t3Sn2wMn0yjWIW5tFyzMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Cb5tD9GbTkS-IBunlpvZWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_6Zo1ynN0Z0aqV3iAOI5rTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_owzvZDCTsEa5RJCfxGMx3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_kRfhtDXXJ02KjpiMC9t3lQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_Yj1-e8uV60SQ_9JwwhGGXg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_rXMjldPM4UeULgZNWgXnBw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_3CeTgvUuOUS_r4xK5B9hnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_d9-e6TN1i0C2HYul6aqSmg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_jkFcNaEyVEmCiZ74-R2hkg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_D5Sg2S9fjUSDw-DiepiajA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_mPq_lpGFRU-T51iPjUM1AQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_8cDD9d-icUanXPWtwZshOA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_WDlZ3IPpoUSqGO_IncDAxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_NuwB4hdNlkSqk6XEVPnNhQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_wAWDHjpjC0C8REjAb8jj1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_nsGXVHvDhEyB2-grVYSIvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_dJpNn0qbNUSzymDO8xs0XA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wQy0Wlk2D0axVbVPmstarg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_orbSU9xILUKAktQcjgqoaw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_b9jHBJEOJUi9cvn-dLUszw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_wtp8iSn3uE2UmRc8lxx-Jw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_IncomeStatementLocationAxis_us-gaap_InterestExpenseMember_VjjYSUoBnEiD-MuTPtpSqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:InterestExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_IncomeStatementLocationAxis_us-gaap_InterestExpenseMember_v3pZhrkNk0iwZBEfABDO5g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:InterestExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_SqVRk02uLESTNwaAOJgzjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_leUB2D8opEii367Dkq4CVQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_13_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_LchjH1Nc4keB3qctkoeUng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-09-13</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_BppTxWydRESUWmwbx6-okg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_B7dPJJLw6ESVSX0eDu0CYw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_BgoO_I6JNUW1XP_qMmXFbA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_pZ1qhlw6P0K1vR3_OD0YKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_yFl_QqErhk-y5gsOGTfYZw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_gUFxKrdTS063kFcz5QxKrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_5_1_2020_To_5_1_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember__5PeX9PbKkuTJHkNoreKVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-05-01</xbrli:startDate><xbrli:endDate>2020-05-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_22_2020_To_2_22_2020_IrdZDsPh306_JNpuPOmsRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-02-22</xbrli:startDate><xbrli:endDate>2020-02-22</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_31_2019_To_10_31_2019_ATqJ5tvWo0qgXOHmiW38bg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-10-31</xbrli:startDate><xbrli:endDate>2019-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_2_2019_To_8_2_2019_cwuQJ0UWLEi1G2XNvWOOQw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-08-02</xbrli:startDate><xbrli:endDate>2019-08-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_3_2019_To_5_3_2019_xCsQiYQHL0-2P_eST2BlhA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-05-03</xbrli:startDate><xbrli:endDate>2019-05-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_26_2019_To_2_26_2019_zmvRl3hXAU-0gNSZF2e5cw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-02-26</xbrli:startDate><xbrli:endDate>2019-02-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_11_2_2018_To_11_2_2018_Y2Ao66cOaE2qpnPjm0_tLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2018-11-02</xbrli:startDate><xbrli:endDate>2018-11-02</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2019_BjsJTruINU-LOSyHj80fxQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_UI69RbtkLEyy-6xSDhaoQg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_CvVpUbN0jk6Hwm-GieLxJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_-JgYSOmkQ06Xj6Bdb3oDpA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_KyDFCWDszUCxpfLxiesDjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableInterestEntitiesByClassificationOfEntityAxis">prim:CarlsbadConstructorsJointVentureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockUnitsRSUMember_AU5Inj2WxEmd2J-K_mWlIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_prim_EquityIncentivePlan2013Member_g8CxyEXjHUKugubbz1P8hw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member__lVi64r2bEOudVFXhybLnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_ewyB-67FFUCFuzSnh5AJZw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_24_rIbP0Y02z5KcoyUosnA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableInterestEntitiesByClassificationOfEntityAxis">prim:CarlsbadConstructorsJointVentureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_ud4XQVSNV0OZIN3BWXQsyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">prim:NonUnitedStatesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_H7azBe8NyESGS1nMctlE4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_EqblmuX4pku4GFBgcNKT3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_DS6JujiBw0agDLUosCOHKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_prim_ShareBasedCompensationAwardTrancheFourMember_rp5ra39W_UuordibFrRP-g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">prim:ShareBasedCompensationAwardTrancheFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2020-04-01_2mO-ABZ510y6zhBoKkKQ0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2020-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_6KYUxaE6R0WFY8BOMBdMvg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">prim:NonUnitedStatesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_6plzbYd0gkaE-7ySmclNmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">prim:NonUnitedStatesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_73ST82cJA0enfJ-E-48Byw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember__zH3HAZcIUaUDLkkxOQcnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">prim:NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">prim:JamesConstructionGroupLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-02-25</xbrli:startDate><xbrli:endDate>2015-02-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_kTV_JK0lw0i5oyZXhNH5Hg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">prim:NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">prim:JamesConstructionGroupLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_2uFZe3IrL0qK7lugwFuxpQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">prim:NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">prim:JamesConstructionGroupLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-02-25</xbrli:startDate><xbrli:endDate>2015-02-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_-uXUc15HCk-Bpd-qUTgJyA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">prim:NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">prim:JamesConstructionGroupLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Wdlu4I2afEm-YQ_ry6RVhg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_MsIQasilQketwhwh7qqcMg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fT1uVmytCk2_724EJKos9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3Pkr8OsgjkWvKqtJ7vo0rA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_7Lp77EAuK0WjjfwZFYKgkw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:LongTermRetentionPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_15D8d6CY1EqlUj_bbrkCYQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:LongTermRetentionPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_uvG86duz2Ui1trUyMyy4kQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_VIGlX6p8bk26o834sfte7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_xQNxXyLx2kmjO-TWd5IiCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2019_Ucg1JqPm5U6Reis0w7KmXA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WhrgXfr05U6NjeAxsjbZRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:TopTenCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_u1ZWj_DlAk6gTaJtuUlm0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:TopTenCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_PipelineCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_HsKkXgDMn0ya9QDmWDiZYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:PipelineCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_IO_YgHRZK0CVP9zM_vMn4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:SuretyBondMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_crN3U11GG0GoRTxf5rfzZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:SuretyBondMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_9_13_2018_To_9_13_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_LG5GZO68mEui2ZAc45tw4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-09-13</xbrli:startDate><xbrli:endDate>2018-09-13</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_KJAv3jgTqk-VEzu2ilQd3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2020_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_ZuiPBQ1d2UeoeraZwEQYrw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_4_27_2020_r_HtyWnGlky5ao-GhfgTYw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-04-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001361538</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_item_coXTvHw4E0WcPTv7PyIXqA"><xbrli:measure>prim:item</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA"><xbrli:measure>prim:customer</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_instrument_fROoiuuhrEmEXQzvnuS3gg"><xbrli:measure>prim:instrument</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw"><xbrli:measure>iso4217:CAD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_segment_zK27MSdamEeRnPBVsDPe7g"><xbrli:measure>prim:segment</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><div style="max-width:100%;padding-left:4.47%;padding-right:4.47%;position:relative;"><div style="margin-top:21.6pt;min-height:5.75pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-bottom:1pt;padding-top:1pt;border-bottom:1.0pt solid #000000;border-top:3.0pt solid #000000;margin:0pt;"><span style="background-color:#00ff00;font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_5f531e2d_ee9c_4b4b_ba79_36906849bb75"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:16pt;font-weight:bold;">UNITED STATES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:16pt;font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</b></p><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Washington, D.C. 20549</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:16pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">FORM&#160;</b><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:DocumentType" id="Narr_8bayUDPzzkWBrP6BK85Irg"><b style="font-weight:bold;">10-Q</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(Mark One)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;border:0;"><tr><td style="width:27pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:22.5pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:DocumentQuarterlyReport" id="Narr_-mCNU4iIYkOEDcRDNvSoNQ"><b style="font-family:'Segoe UI Symbol';font-weight:bold;">&#9746;</b></ix:nonNumeric></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">QUARTERLY REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF&#160;1934.</b></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:8pt;font-weight:bold;">For the quarterly period ended </b><ix:nonNumeric format="ixt:datemonthdayyearen" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:DocumentPeriodEndDate" id="Narr_9YYeNjJbakG3der0cQlQGA"><b style="font-size:8pt;font-weight:bold;">March 31, 2020</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">OR</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;border:0;"><tr><td style="width:27pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:22.5pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:DocumentTransitionReport" id="Narr_osI7fQ8sIUC4pAR57WgJMw"><b style="font-family:'Segoe UI Symbol';font-weight:bold;">&#9744;</b></ix:nonNumeric></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><b style="font-weight:bold;">TRANSITION REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF&#160;1934.</b></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the transition period from &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; to &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:8pt;font-weight:bold;">Commission file number&#160;</b><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityFileNumber" id="Narr_NcrDdHWN4kmsE6tnm2qYsw"><b style="font-size:8pt;font-weight:bold;">001-34145</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:16pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityRegistrantName" id="Narr_OGwi8Fl6wkOLuy_UEbeyAQ"><b style="font-weight:bold;">Primoris Services Corporation</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">(Exact name of registrant as specified in its charter)</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><a id="_80386162_1c6e_4bee_a22d_e010241227dc"></a><a id="Tc_wPg3DxW-H0yp_5JXUF4egA_1_0"></a><a id="Tc_0RVYzZ0In0-_iH69FnCy5A_1_2"></a><a id="Tc_1VB6g8D1D0-L1Ba06CS3yQ_2_0"></a><a id="Tc_18RTKOBS8kOUW0i_Q5PAVA_2_2"></a><a id="Tc_nkNLXjVhaUih2dZIFsZtwA_5_0"></a><a id="Tc_q2JgA8cdX0OumcMP_oH9zg_6_0"></a><a id="Tc_HAi3Hi9gYk2bSRrwFAnHAA_6_2"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityIncorporationStateCountryCode" id="Tc_pbjrxhfWIEub6SHdB4KL7Q_0_0"><b style="font-size:8pt;font-weight:bold;">Delaware</b></ix:nonNumeric></p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityTaxIdentificationNumber" id="Tc_EAq1cTaEJ0mIP3isnxF2hA_0_2"><b style="font-size:8pt;font-weight:bold;">20-4743916</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">(State or Other Jurisdiction of</p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">(I.R.S. Employer</p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">Incorporation or Organization)</p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">Identification No.)</p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityAddressAddressLine1" id="Tc_O3wDBQ9z8UuR1FaWNAfz5w_4_0"><b style="font-size:8pt;font-weight:bold;">2300 N. Field Street, Suite&#160;1900</b></ix:nonNumeric></p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityAddressCityOrTown" id="Narr_N_jzedRvE0aug0D4geIA8Q"><b style="font-size:8pt;font-weight:bold;">Dallas</b></ix:nonNumeric><b style="font-size:8pt;font-weight:bold;">, </b><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityAddressStateOrProvince" id="Narr_ZtNecI7wskiAIxX3wo9sdQ"><b style="font-size:8pt;font-weight:bold;">Texas</b></ix:nonNumeric></p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityAddressPostalZipCode" id="Tc_AKcLFpGOFES_c-P3NxKfeA_5_2"><b style="font-size:8pt;font-weight:bold;">75201</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">(Address of Principal Executive Offices)</p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">(Zip Code)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;">Registrant&#8217;s telephone number, including area code: </span><b style="font-size:8pt;font-weight:bold;">(</b><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:CityAreaCode" id="Narr_ia2JuZL6VUq5YaXoXxr2tg"><b style="font-size:8pt;font-weight:bold;">214</b></ix:nonNumeric><b style="font-size:8pt;font-weight:bold;">)&#160;</b><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:LocalPhoneNumber" id="Narr_OxISWtGqhUG0JB0tgOvs-A"><b style="font-size:8pt;font-weight:bold;">740-5600</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:8pt;text-indent:18pt;margin:0pt;">Securities registered pursuant to Section 12(b) of the Act:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><a id="_20033d6f_aaa5_4813_928f_faf6c41ff09a"></a><a id="Tc_Y-onD_tGoUu2-V9CaPbp9g_1_0"></a><a id="Tc_lx8AQtN5DUScjqbgHpPmtQ_1_1"></a><a id="Tc_BhO5wyfV_kubPTGIH5cOyA_1_2"></a><a id="Tc_58Q0yV6Uek2CSWsGe4Rg_A_2_0"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:33.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:33.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:33.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:33.33%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">Title of each class</p></td><td style="vertical-align:top;width:33.33%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">Trading symbol(s)</p></td><td style="vertical-align:top;width:33.32%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">Name of each exchange on which registered</p></td></tr><tr><td style="vertical-align:top;width:33.33%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:Security12bTitle" id="Narr_Hu-X0-Eg3kaYxeoGhhrNyQ"><span style="font-size:8pt;">Common Stock</span></ix:nonNumeric><span style="font-size:8pt;">, $0.0001 par value</span></p></td><td style="vertical-align:top;width:33.33%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:TradingSymbol" id="Tc_2az5JRVsCkCcfjVyZwUvlA_2_1"><span style="font-size:8pt;">PRIM</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:33.32%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:exchnameen" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:SecurityExchangeName" id="Tc_kNJLJuo08EmONcjnh2aw9Q_2_2"><span style="font-size:8pt;">The Nasdaq Stock Market LLC</span></ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:8pt;">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d)&#160;of the Securities Exchange Act of 1934 during the preceding 12&#160;months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90&#160;days.&#160;&#160;</span><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityCurrentReportingStatus" id="Narr_sKayDvG7eUuDVNMykT99Og"><span style="font-size:8pt;">Yes</span></ix:nonNumeric><span style="font-size:8pt;">&#160;</span><span style="font-family:'Wingdings';font-size:8pt;"><span style="font-family:'Times New Roman';">&#8999;</span></span><span style="font-size:8pt;">&#160;&#160;No&#160;</span><span style="font-family:'Wingdings';font-size:8pt;"><span style="font-family:'Times New Roman';">&#9723;</span></span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:8pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule&#160;405 of Regulation&#160;S-T (Section&#160;232.405 of this chapter) during the preceding 12&#160;months (or for such shorter period that the registrant was required to submit such files).&#160;&#160;</span><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityInteractiveDataCurrent" id="Narr_i3C2T9P4oU6CqLnpHVmojQ"><span style="font-size:8pt;">Yes</span></ix:nonNumeric><span style="font-size:8pt;">&#160;&#160;</span><span style="font-family:'Wingdings';font-size:8pt;"><span style="font-family:'Times New Roman';">&#8999;</span></span><span style="font-size:8pt;">&#160;No&#160;</span><span style="font-family:'Wingdings';font-size:8pt;"><span style="font-family:'Times New Roman';">&#9723;</span></span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:8pt;text-indent:18pt;margin:0pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer&#8221;, &#8220;accelerated filer&#8221;, &#8220;smaller reporting company&#8221;, and &#8220;emerging growth company&#8221; in Rule&#160;12b-2 of the Exchange Act.:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:entityfilercategoryen" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityFilerCategory" id="Narr__GZ2HoPcx02SiyfOKD7mUQ"><span style="font-size:8pt;">Large accelerated filer</span></ix:nonNumeric><span style="font-size:8pt;">&#160;&#160;</span><span style="font-family:'Wingdings';font-size:8pt;"><span style="font-family:'Times New Roman';">&#8999;</span></span></p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">Accelerated filer&#160;&#160;<span style="font-family:'Segoe UI Symbol';">&#9744;</span></p></td></tr><tr style="height:4.35pt;"><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">Non-accelerated filer&#160;&#160;<span style="font-family:'Segoe UI Symbol';">&#9744;</span></p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;">Smaller reporting company&#160;&#160; </span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntitySmallBusiness" id="Narr_fTl4p4mBIU25cDujvuZDrQ"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr style="height:5.05pt;"><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:48.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;">Emerging growth company&#160;&#160; </span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityEmergingGrowthCompany" id="Narr_SfhzcipyDEOwhguLvnxKOw"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></ix:nonNumeric></p></td></tr><tr style="height:4.35pt;"><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><span style="white-space:pre-wrap;">       If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.  </span><span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:8pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#160;12b-2 of the Exchange Act).&#160;&#160;Yes&#160; </span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="dei:EntityShellCompany" id="Narr_S4xBpfnTgk-Xqw4YNzwElg"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></ix:nonNumeric><span style="font-size:8pt;">&#160;&#160;No&#160;</span><span style="font-family:'Wingdings';font-size:8pt;"><span style="font-family:'Times New Roman';">&#8999;</span></span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:8pt;text-indent:18pt;margin:0pt;">At April 27, 2020, <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_4_27_2020_r_HtyWnGlky5ao-GhfgTYw" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" id="Narr_uSqTB_UO6ES8jEyhMql6GQ">48,260,436</ix:nonFraction> shares of the registrant&#8217;s common stock, par value $0.0001 per share, were outstanding<span style="font-size:9pt;">.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-bottom:1pt;padding-top:1pt;border-bottom:3.0pt solid #000000;border-top:1.0pt solid #000000;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman';font-size:0pt;visibility:hidden;">&#8203;</span></p><a id="_ee488c5f_49ed_4b91_a5d7_e7dc8a39cef6"></a></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:91.06%;border:0;margin:30pt 4.47% 30pt 4.47%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;text-indent:18pt;margin:0pt;"><b style="font-weight:bold;">PRIMORIS SERVICES CORPORATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Toc"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INDEX</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:-0.060386658%;padding-left:0pt;padding-right:0pt;width:100.12%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:90.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:90.64%;margin:0pt;padding:0pt;"></td><td style="vertical-align:bottom;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Page&#160;No.</b></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><a href="#PARTIFINANCIALINFORMATION_4467"><b style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:bold;text-align:center;">Part&#160;I. Financial Information</b></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM1FINANCIALSTATEMENTS_219337"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Item&#160;1. Financial Statements</span></a>:</p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#BALANCESHEETS"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8212;Condensed Consolidated Balance Sheets at March 31, 2020 and December 31, 2019 (Unaudited)</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">3</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#STATEMENTSOFINCOME"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8212;Condensed Consolidated Statements of Operations for the three months ended March 31, 2020 and 2019 (Unaudited)</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#STATEMENTSOFCOMPINCOME"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8212;Condensed Consolidated Statements of Comprehensive (Loss) Income for the three months ended March 31, 2020 and 2019 (Unaudited)</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">5</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#STATEMENTSOFEQUITY"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8212;Condensed Consolidated Statements of Stockholders&#8217; Equity for the three months ended March 31, 2020 and 2019 (Unaudited)</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">6</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#CASHFLOWS_643424"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8212;Condensed Consolidated Statements of Cash Flows for the three months ended March 31, 2020 and 2019 (Unaudited)</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">7</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt 0pt 0pt 10pt;"><a href="#NOTESTOCONDENSEDCONSOLIDATEDFINANCIALSTA"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8212;Notes to Condensed Consolidated Financial Statements (Unaudited)</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">9</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#Item2ManagementsDiscussionandAnalysis_73"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Item&#160;2. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">24</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#Item3QuantitativeandQualitativeDisclosur"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Item&#160;3. Quantitative and Qualitative Disclosures About Market Risk</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">35</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#Item4ControlsandProcedures_103171"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Item&#160;4. Controls and Procedures</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">35</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><a href="#PartIIOtherInformation_968498"><b style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:bold;text-align:center;">Part&#160;II. Other Information</b></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#Item1LegalProceedings_175678"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Item&#160;1. Legal Proceedings</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">36</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#Item1ARiskFactors_374878"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Item&#160;1A. Risk Factors</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">36</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#Item2Unregistered"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Item&#160;2. Unregistered Sales of Equity Securities and Use of Proceeds</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">37</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#Item6Exhibits_620240"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Item&#160;6. Exhibits</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">37</p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#SIGNATURES_948006"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Signatures</span></a></p></td><td style="vertical-align:top;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">38</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_b59061fc_4e8a_4631_8811_1039233ad03b"></a></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="PARTIFINANCIALINFORMATION_4467"></a><p style="font-family:'Times New Roman';font-size:10pt;line-height:11pt;margin:0pt;"><b style="font-weight:bold;">PART&#160;I.&#160; FINANCIAL INFORMATIO</b><b style="font-weight:bold;">N</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="ITEM1FINANCIALSTATEMENTS_219337"></a><p style="font-family:'Times New Roman';font-size:10pt;line-height:11pt;margin:0pt;"><b style="font-weight:bold;">ITEM 1.&#160; FINANCIAL STATEMENT</b><b style="font-weight:bold;">S</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_0fa18f77_17da_446b_b241_74332849c7dc"></a><a id="BALANCESHEETS"></a><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PRIMORIS SERVICES CORPORATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED CONSOLIDATED BALANCE SHEETS</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In Thousands, Except Share Amounts)</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_5281bc20_8fb3_44e1_958f_f868a9c41534"></a><a id="Tc_r32WRmPZsUuGiUaeXKLlXQ_1_3"></a><a id="Tc_q8l6JStfKkuod78LGNK_Hw_1_6"></a><a id="Tc_J1pjfI9MsUqpknbTXIMeLw_2_2"></a><a id="Tc_vmRHsSKxH06b5IntlGyGSA_2_5"></a><a id="Tc_S8Krx8pp60-b2y-vAEFMFA_3_0"></a><a id="Tc_bL0S0aFAF0Sc_Cmn-4p5-A_4_0"></a><a id="Tc_kX4CMnAtJkmViWvPWJDNRQ_5_0"></a><a id="Tc_RsKW7up8_USB-yiadxcXCw_5_2"></a><a id="Tc_XGoC99FVrEqa_f97p0vXgg_5_5"></a><a id="Tc_1lN9flqaVE-o90I12LnjJg_6_0"></a><a id="Tc_drPiT_C72UCTjGZuFqqa-w_7_0"></a><a id="Tc_uxAfhsQO2k6axICiuQo6Kg_8_0"></a><a id="Tc_Rpr3dcw_dESlPKqUYbNcbQ_9_0"></a><a id="Tc_m7vHxcJ4EEegrNbAa5zMlA_10_0"></a><a id="Tc_bX3jOvYl20assPrHN1f85Q_11_0"></a><a id="Tc_Rbm7bIXqv0GeDvRTekLEyQ_12_0"></a><a id="Tc_GQ7oGzqLlU6Uwgfx6RDtxQ_13_0"></a><a id="Tc_3EBaRzcvlE6Q3k2wdmniWg_14_0"></a><a id="Tc_wnZOgrRj5kKlt9Z1D2-v6A_15_0"></a><a id="Tc_YXI35RIzw0Go5etNAD0S4w_16_0"></a><a id="Tc_HlJmbF7iO0G31A_sjG4Row_16_2"></a><a id="Tc_INlEMAzmDUC6EQSV-tSlQg_16_5"></a><a id="Tc_-PSo95lu-0iWgolwEHVf0w_17_0"></a><a id="Tc_mdQr4OO0L0yUJveVz17VVA_18_0"></a><a id="Tc_iIZj4ZCV_0uGhPtr6-n0JQ_19_0"></a><a id="Tc_a_sNzDw2c0GpxSDLuaFz6w_19_2"></a><a id="Tc_XNbgu-7Pg02IeNHio30lVA_19_5"></a><a id="Tc_IxO72eUQ6UaPButEkzGJKg_20_0"></a><a id="Tc_ezV0g0PrkkqfKjp2wX2LeQ_21_0"></a><a id="Tc_4RQTj65pp06G-zTaZ6ro9A_22_0"></a><a id="Tc_d7DJyoisT0W2gVOC_v8mgQ_23_0"></a><a id="Tc_ybZKqlQEP0WYHPm-6QWMzQ_24_0"></a><a id="Tc_PQ-ZXRKz_0OBix4VQzZoZw_25_0"></a><a id="Tc_H2jGgOBM9keliGyzMSGl9w_26_0"></a><a id="Tc_rIZY-eqzAEG-3jGLFKT2vw_27_0"></a><a id="Tc_lDx2imhPyEK1zWfHDpdvsQ_28_0"></a><a id="Tc_3XZGQAonDkWB0jCoSpIqng_29_0"></a><a id="Tc_lmrJEHGlU02foYF9L3Ym2g_30_0"></a><a id="Tc_f-melYQps0yTzq5jQmfq1Q_31_0"></a><a id="Tc_ecysrJqeiU-KJz1QUkAuDw_32_0"></a><a id="Tc_pS8mxV3MtkyvebXJPcqdhg_33_0"></a><a id="Tc_d-tMcGjULkGN1YeE4fiSDw_34_0"></a><a id="Tc_SrcA5ghZxUG8bzhLz8aHag_35_0"></a><a id="Tc_yc_ngFcQB06a6ocEAGgcbw_36_0"></a><a id="Tc_HiWkeKq81k-CnQZP0VylJw_37_0"></a><a id="Tc_v2TUyCV0NEeO-APrXQXbvg_38_0"></a><a id="Tc_995LPUY2qkCkc4O1wgAylg_38_2"></a><a id="Tc_hDlKZGi0CUW260IqI4WuZQ_38_5"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_UNxZ3mrC-0ClLQTiYUmqzQ_5_3">93,474</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_A_Oj5Ucv4kCKMr-FvbrLVQ_5_6">120,286</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReceivablesNetCurrent" scale="3" id="Tc_ukHQl7ShDEKkCiIlHAVrcg_6_3">416,412</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReceivablesNetCurrent" scale="3" id="Tc_BUZBoDa4dkW83jaebbZ08A_6_6">404,911</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contract assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_O223mQB6p0WqYWOqJiM6IQ_7_3">359,370</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_pKnnmhP7-E6WNoQGwBnYzA_7_6">344,806</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other current assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_ABExeFVeyU68W3cy9opQEA_8_3">47,409</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_0UcmTbce0E6O0m_i0QNxBQ_8_6">42,704</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total current assets </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_RDDPIGdN80G3VY9q6p3dqg_9_3">916,665</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_cyGAu8MZw0yC8w5mz63lHQ_9_6">912,707</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Property and equipment, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_VOEABtyRaki_0KnsmnTv3Q_10_3">363,993</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_D1j_5Xw_cEmU_BfFTsQtiQ_10_6">375,888</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating lease assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_mKUP3PqIYkiK_PEC4cp4Ig_11_3">253,117</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_tBrQYyJP4UCf9uI6bS__mQ_11_6">242,385</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_rzWHUctuWE6loryREskqnw_12_3">1,090</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_Eqj_mwGWnUK8eZYqLQJZ1A_12_6">1,100</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Intangible assets, net </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc__JqCo5nMPUCEJrA-8KSdTA_13_3">67,460</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_O1j8TAYLW06hkFr7HbZnSg_13_6">69,829</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Goodwill </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_26bd4ZoIJEa5fHhKCeFjYA_14_3">215,103</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_-CYtcs6pwEyOZA8Xhs-Qkw_14_6">215,103</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other long-term assets </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_2TbtDKimf0WGaslsEu080Q_15_3">17,675</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_URDcrmj9JUCwIIPodq5LhA_15_6">13,453</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_q33TT32Onkmm8LDnPOmQ5g_16_3">1,835,103</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_aUKrb8zWjEqAQ5yQj2CX3w_16_6">1,830,465</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_wDYrN-t5LEuk3uyZYsNuow_19_3">258,962</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_UwSJlHU55Ey1MsDoNNqoQQ_19_6">235,972</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_uWBd2tQewU-ferBoxgIk2g_20_3">176,847</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_VJOu9R-qD0y0bLjTUVc8sw_20_6">192,397</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_1Egs-5aNNkWkTWMY4INcpA_21_3">192,648</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_pdSnq1pCHkqq7Kofv9PpNA_21_6">183,501</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Dividends payable </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsPayableCurrent" scale="3" id="Tc_XOBamjxP70OGYKI5_b0CTw_22_3">2,895</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsPayableCurrent" scale="3" id="Tc_XyXdL-5peEqp0r2tdD6FmA_22_6">2,919</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Current portion of long-term debt </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_KRqwb9zS5EG1EMTXrB81Bw_23_3">52,430</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_qiM4VVmMgE24HEsjAVVSow_23_6">55,659</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total current liabilities </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_7enD_VUPmUqCukpEL9xKyQ_24_3">683,782</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_tb3ohMqmNUu9jmVAKdR6Fg_24_6">670,448</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Long-term debt, net of current portion </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="3" id="Tc_WInfNT-9p0GN893QrcgZIw_25_3">290,749</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="3" id="Tc_3v7N4o_hJ0aS5vHtzyRvnA_25_6">295,642</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Noncurrent operating lease liabilities, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_lwAe_gLUl0Kf21mq9nzQnw_26_3">176,546</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_gwAMlaxdN0aWKNvTQF7O_Q_26_6">171,225</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_H7Fn-7Xs90yq--ZoM7yF3w_27_3">17,820</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_oAlcJTs5Z06W9P1TPFqS4w_27_6">17,819</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other long-term liabilities </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_plilYEkE60GoIfJsSO8oFw_28_3">50,762</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc__ZErJOgDaUOeiRUhBzF_ZA_28_6">45,801</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total liabilities </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_cMh7CoSV40elopYAsPAeCQ_29_3">1,219,659</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_0_JbjcFzwkOe5CZrrkfK7g_29_6">1,200,935</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Commitments and contingencies (See Note 16)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Stockholders&#8217; equity</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Common stock&#8212;$<ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_AHOuYtnsIkyA1KwEavJi5A"><ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_5GK6knUzxkK1naJxhckDBw">.0001</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_Lj93k3f_b0ynuN38-dSLGw"><ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_nwj4JiyQI02sI4JkzXXutA">90,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_aHACGDIDeU67WUi0BhokxQ">48,254,575</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_B1JWO-Fk1EumHuQXnnrXLw">48,665,138</ix:nonFraction> <span style="-sec-ix-hidden:Hidden_hFXD5kWMwEOcb48HkK7psQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">issued</span></span> and <span style="-sec-ix-hidden:Hidden_7LS6h5sGk0OKnthB8tRKCQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">outstanding</span></span> at March&#160;31,&#160;2020 and December&#160;31,&#160;2019, respectively</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_we5GfyWhN0KUCAm5YW9ZrA_32_3">5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_V_DI9G-JEUerf83F6CRQ7w_32_6">5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Additional paid-in capital </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_ygyjs-6emEyxE9LZyBUlFw_33_3">91,414</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_6DQhfWQxz0St8A-uu_MUVw_33_6">97,130</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Retained earnings </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_C5SbaEh3e0mwJKdh-krG2w_34_3">524,655</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_IgCkRCClmUeMCJnzFDhXyA_34_6">531,291</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accumulated other comprehensive (loss) income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_eaSsFemjIki9CbnwMfeGzQ_35_3">1,661</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="Tc_75Ym84ogi0-PpqJZ2djxIQ_35_6">76</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Noncontrolling interest </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="3" id="Tc_r4L_ZiJY3UehvRcQJMlHUg_36_3">1,031</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="3" id="Tc_TfBHElz7vEWADmgDNp0Bbw_36_6">1,028</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total stockholders&#8217; equity </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_L5VGzH6-wkKnF3a4YT4q_g_37_3">615,444</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_uubce_yLEkWNJyhYWQNm6Q_37_6">629,530</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total liabilities and stockholders&#8217; equity </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_wE5ZJaQZZ0u6JSNFNqpAdQ_38_3">1,835,103</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_shG5EYMzjUKQKjJdVF4ODg_38_6">1,830,465</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See Accompanying Notes to Condensed Consolidated Financial Statements</p><a id="_8af5beee_9665_4709_aa16_fc905c6a5d33"></a></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="STATEMENTSOFINCOME"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PRIMORIS SERVICES CORPORATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In Thousands, Except Per Share Amounts)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_e0498a58_2958_456b_8ee1_7f600844ba61"></a><a id="Tc_XJ13KS-EQke2m0_YsSkNmA_1_1"></a><a id="Tc_fi6JBfbackuYUjGxHmsSYw_2_1"></a><a id="Tc_6ZlkyOR93keoBxlcRUIgsA_3_1"></a><a id="Tc_cbtZsz1TT06ZpECC7mImeA_3_4"></a><a id="Tc_qLdCBYajIkSM9rn4SgndyQ_4_0"></a><a id="Tc_4DdTTXdkbUe9-1zfOeJbeg_4_1"></a><a id="Tc_9pnTCHBt00OOMzDVhdhyng_4_4"></a><a id="Tc_lZDfwzcxRUasZ-Wm26bMcQ_5_0"></a><a id="Tc_cjEeQJPdIUWPR3eL27XJvw_6_0"></a><a id="Tc_AboYo2jmJkiSgc42b8h33g_7_0"></a><a id="Tc_I-GaNtOMg0OLFD0TtzpLog_8_0"></a><a id="Tc_fYmvWNVtMEKEs-t8pegZ9w_9_0"></a><a id="Tc_1ASPsBSV9kGCsLhLGbwCdQ_10_0"></a><a id="Tc_bP4LXiNJ6EiFD-Z4k2KdOg_11_0"></a><a id="Tc_qD0pva4Jy0ycPUg89QkBnQ_12_0"></a><a id="Tc_vk_vKdK_Q0itpqheBJh8gA_13_0"></a><a id="Tc_eYby_i783Uynlrnmnu6flw_14_0"></a><a id="Tc_UEPlg0dCSkKwypFQkQUAAQ_15_0"></a><a id="Tc_DzI9S1a50kWi4OrcLSZ1Hw_16_0"></a><a id="Tc_xWEL1lxsjUec_fowLmVwBg_18_0"></a><a id="Tc_CTYP3-U1j0Cvlc5MSpxspA_20_0"></a><a id="Tc_U9K_QklUHkGVLEBPeMzB3A_20_1"></a><a id="Tc_e-bQSqF77kGqSHE0Cz_N6A_20_4"></a><a id="Tc_ulGTuuYxMEak65UVSbXQGg_22_0"></a><a id="Tc_TYv4Z8yCG0KfgnV_PfZNYg_22_1"></a><a id="Tc_P0w91U1u60uPqwqA_7B-3A_22_4"></a><a id="Tc_KhtFCI-lnEekImoEH_IXCQ_24_0"></a><a id="Tc_-naKHyPgb0yX6iOpDeCWPg_25_0"></a><a id="Tc_ER8y9HpzOUS-5SDDEzy7kg_25_1"></a><a id="Tc_J_kPRpuxqU2LF-W6ZNZsQg_25_4"></a><a id="Tc_ewu-_SsDRk-5glYX7sHv5g_26_0"></a><a id="Tc_NXnCfL7Gc0aGdGBDJRkRaQ_26_1"></a><a id="Tc_e2VU4QekKES8lkOjXTX3IA_26_4"></a><a id="Tc_3a1AOfwx30mnv3ntto0hug_28_0"></a><a id="Tc_EFokYkAZiUO4QMlzHIE2tw_29_0"></a><a id="Tc_QVzb7TJx1U-O8knAcGMgmA_30_0"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:92.58%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;width:23.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;width:23.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_29_XMCi2-US2jBIGk59nbA_4_2">743,243</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_sTSpZeWje0mLA_VwQHyiQg_4_5">661,558</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_hiiL9htIEEqeH8WaqjZ5ww_5_2">695,433</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_3niiMyTs0EmQFN976iUfQQ_5_5">609,098</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Gross profit </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_FJj9fMktmE22VNfOk3QRcg_6_2">47,810</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_sDEAQM8hQka3DVwY9JfUVw_6_5">52,460</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Selling, general and administrative expenses </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_ubOnelhkDU6dy6XmRrk2kg_7_2">44,388</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_PNc-daw12EKl10bV8WBtkg_7_5">42,931</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating income </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_WHE4wcxR3kyZdCUWLIJqfA_8_2">3,422</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_2R1C0lqgfUSsr2_GDohZMg_8_5">9,529</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other income (expense):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange gain (loss)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_jGg_Wvlq30KfUUl3ZjSdng_10_2">136</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_iFrQUc3UbUKW4irGPYPWQA_10_5">185</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other income (expense), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="Tc_4nASvJDI4k6PxePlcp5PNA_11_2">12</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNonoperatingIncomeExpense" sign="-" scale="3" id="Tc_fp156evqrEuBMI1AHjy3xA_11_5">370</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest income </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeNet" scale="3" id="Tc_wi6rMwQaNEeTXZhBtaDscQ_12_2">281</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeNet" scale="3" id="Tc_wf-uWFYJOUeP6W21BMwW8g_12_5">349</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest expense </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_-MNaAfs-70mUgfuOWYLr9A_13_2">9,112</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_E2eJZLkWy0GBvBcWs-33-w_13_5">5,592</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">(Loss) income before provision for income&#160;taxes </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_qP3WjtxhY0CXcsEH-nT-Tw_14_2">5,261</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_o8TZz4BI4kCd-S4c-Qo-QQ_14_5">3,731</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Benefit (provision) for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_z49KqMKq4UW7cBVKb9dMGg_15_2">1,527</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_ibU2bwSpzEKv1XhUue8o3w_15_5">795</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Net (loss) income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_LnYEs2-9E06dMqO3Cgwavg_16_2">3,734</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_43PcfVeow0yVcrnySIpasg_16_5">2,936</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less net income attributable to noncontrolling interests </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_kpLbfvGJt06WxPuztVbwEw_18_2">3</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_E003YIoZxU-1Bxe70BX6AA_18_5">989</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Net (loss) income attributable to Primoris </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" sign="-" scale="3" id="Tc_MJD6q5zLVUOD_IU3qXZE9A_20_2">3,737</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_wZV0VSRuOUCshqHM3GYyeQ_20_5">1,947</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Dividends per common share </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_hdQbBlO6G0-2Ze3iabU99A_22_2">0.06</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_tjziZImmMkq7-CaALIdQBw_22_5">0.06</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">(Loss) earnings per share:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" sign="-" scale="0" id="Tc_64GOTgv2M0-Kj4Wk83LOyA_25_2">0.08</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_FyEWuN5Lpk--5ddiPxfGeA_25_5">0.04</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" sign="-" scale="0" id="Tc_-tJTwqQm6ECUmnSgfHeWkg_26_2">0.08</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_ZNVyr1B3W06ZZzoMzA9jIw_26_5">0.04</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Weighted average common shares outstanding:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_AceYiv-wTEaW4k04ZOm5aw_29_2">48,588</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_MKLpOSKp8EamVSl-FzSh3w_29_5">50,770</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_uVUuErdts0SQLof-sFIL6A_30_2">48,588</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_jD9zQ5AF3UmTzUfBPguU3A_30_5">51,188</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See Accompanying Notes to Condensed Consolidated Financial Statements</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_bc06d77f_2db0_4221_b728_ebf69696c635"></a></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="STATEMENTSOFCOMPINCOME"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PRIMORIS SERVICES CORPORATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In Thousands)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_7c7ce3a8_d368_443b_81ef_a6b6405a2d90"></a><a id="Tc_ROhkbJKKkUqmhiKdCJHSxQ_1_1"></a><a id="Tc_p6CWTUw3jEi7N3tQc-QHwQ_2_1"></a><a id="Tc_rgB-Y3SHFkGgpJnEBRoAFQ_3_1"></a><a id="Tc_VOmj71n5JU-envTC-rjJ5Q_3_4"></a><a id="Tc_3yX6c6Hy4UuisWg4Zy_mww_4_0"></a><a id="Tc_c5X_VAmirUih8F53oftTYA_4_1"></a><a id="Tc_CBCFi4FSxkSG29sOA4phqw_4_4"></a><a id="Tc_XoR4EA39p0eXKU4ZahVcAQ_5_0"></a><a id="Tc_YdwIREGgr0C8j3eYH_H50g_6_0"></a><a id="Tc__hvI4sFUYk6yZ17N-eYp7w_7_0"></a><a id="Tc_nD-1xMXoLkavNOSMZbiLww_8_0"></a><a id="Tc_uA-FKpQz2UaiOslg3k2HuQ_9_0"></a><a id="Tc_IHE8igoq2kWkxYlyWiF8SA_9_1"></a><a id="Tc_yma9vZhFRkmZa5TQeByjeA_9_4"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:92.5%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;width:23.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;width:23.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net (loss) income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_MfLALM-qTUiwMykKy0O2XQ_4_2">3,734</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_XwpLPjlO10idI5RZLiuplw_4_5">2,936</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other comprehensive (loss) income, net of tax:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Foreign currency translation adjustments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_diWn05mnZkSAJjN94dgzvw_6_2">1,737</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc_EkLqZWaVJEiS4TX2cGwgAQ_6_5">374</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Comprehensive (loss) income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_eAGYcScP1U6Uec-xQhVIEQ_7_2">5,471</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_WhNBJ2w3B0C7_oLI8lPs8A_7_5">3,310</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Less net income attributable to noncontrolling interests </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_1KdDNQnodEKkzIJZioxAdA_8_2">3</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_vjKv9KNTYkykey_FRaW8FA_8_5">989</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Comprehensive (loss) income attributable to Primoris</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" sign="-" scale="3" id="Tc_PWm_MdatWUeA9kRr0g7Zug_9_2">5,474</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_icpNPCDiREeB5szPFIu4TA_9_5">2,321</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See Accompanying Notes to Condensed Consolidated Financial Statements</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">5</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_21f8cfbf_293b_4ed5_8387_d5b292b8cffa"></a><a id="STATEMENTSOFEQUITY"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PRIMORIS SERVICES CORPORATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In Thousands, Except Share and Per Share Amounts)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_3c47a330_d60e_4658_bbbb_503c731379c8"></a><a id="Tc_NZ6gL13ps0OOz0NwJYQ7xA_1_13"></a><a id="Tc_Wt9YSoLjBk2HdMhV-_mZfw_2_7"></a><a id="Tc_U4Y8FhYGTk2rvXZ5vLJZ8A_2_13"></a><a id="Tc_Ca2PlZ6yR0eHOdsbVLKGLg_2_16"></a><a id="Tc_nHkoa5TUREKB6JYw-FVuZw_2_19"></a><a id="Tc_gCQZA0gAx0yg5TF_XsDxpw_3_2"></a><a id="Tc_NRkcjzn6W0mdBMQilbN0Lg_3_7"></a><a id="Tc_yt9nY50yp0eb4OlMmyyJRQ_3_10"></a><a id="Tc_J-Z9qOL0T0uJjfTOrKTb1w_3_13"></a><a id="Tc_NIiBv4Llk0GbiOsCwiWa_g_3_16"></a><a id="Tc_vFI06192akCrd6duakn83g_3_19"></a><a id="Tc_R6Ut2LfAv06IEBmziYBn2w_4_2"></a><a id="Tc_usWVnxHtZEyWgN-vO-9plw_4_4"></a><a id="Tc_6KhO03HEi0KTlmp3ZDtE7A_4_7"></a><a id="Tc_EuFVOXc8GkW-hR_8SL7lcg_4_10"></a><a id="Tc_upJ4I_qmBEeTvNmGE4ZTfg_4_12"></a><a id="Tc_Hhvt-I_FuEmuNtbcoDBTyA_4_13"></a><a id="Tc_sU3TAwvsak2gQmrtXGEFvw_4_16"></a><a id="Tc_qH3meVKD40Sh0JTBEfndGA_4_19"></a><a id="Tc_ccn0wR31uUOFbI-GMkCp5w_5_0"></a><a id="Tc_IXvmeR0b7k2k20tp5sdbAg_5_4"></a><a id="Tc_s240mKjvLEqMt9kORg8W1Q_5_7"></a><a id="Tc_ij3C4QPBJ0KT0C7zM1nRLQ_5_10"></a><a id="Tc_lnup2K16SkCYBGFyktWAOQ_5_13"></a><a id="Tc_Mu7BMARe1UmIFvqFHYsv9A_5_16"></a><a id="Tc_c5hZoqBsN0CTdskT3OcpWQ_5_19"></a><a id="Tc_FOC27LQQmUiEauq8cxpqUQ_6_0"></a><a id="Tc_yk9zlzz8q0-BIpgy3dIsGA_6_2"></a><a id="Tc_4dX1xrOv4U2sybwso_p2Eg_6_5"></a><a id="Tc_aG465EK20UCEJ9MvcsuszA_6_8"></a><a id="Tc_JuMuj1P8NEGLn7oeAjKR7Q_6_14"></a><a id="Tc_B63npgttF0OVxS7n7U7R6w_7_0"></a><a id="Tc_MhTSOtRwbkuovcO6JXbqTg_7_2"></a><a id="Tc_ZxFymYLJfkKXqY76go_NFg_7_5"></a><a id="Tc_2QYL9kLRck6P6ONmDyB18g_7_8"></a><a id="Tc_50isIUZFSUuA0h3s9I41Jg_7_11"></a><a id="Tc_fcMVkGPCG0Ov101FMLjpmA_7_17"></a><a id="Tc_zvc_HtxZQEOrtNO22ACNKw_8_0"></a><a id="Tc_rDbvYGF4IUuV1ip3LsMs5Q_8_5"></a><a id="Tc_eUNQl6MmBEKzwl3_dAZLxA_8_11"></a><a id="Tc_E3IvNlgDwUic6iqaE_pc_A_8_14"></a><a id="Tc_FF6ENpjjDEaJKdWewq_Mug_8_17"></a><a id="Tc_w6SbBJ4aVU6Tuyl3UE7TjQ_9_0"></a><a id="Tc_fxm_-rZlbUmvjJSWujwniA_9_2"></a><a id="Tc_bap9VQ0o5UiOSpbMrb_R8w_9_5"></a><a id="Tc_q-LpguKaLkCdA8e5RKClRQ_9_11"></a><a id="Tc_eF1UlzZ0dEek0_CwGKlpTg_9_14"></a><a id="Tc_iUAdeQBkFUeA9fdPa34xAg_9_17"></a><a id="Tc_6BIM3ZVjOUqADoD4l29ekQ_10_0"></a><a id="Tc_LHUwklRBrUq3jU9ZOi9M6Q_10_2"></a><a id="Tc_3Bed156Xy0u_ar1V767UWw_10_5"></a><a id="Tc_zZdtYvgGukSh_QNuQnk8HA_10_14"></a><a id="Tc_zDNu4KfQNUqCRSGfdEZVlg_10_17"></a><a id="Tc_Hb_YOuBWr0qd_SO-siDlAw_10_20"></a><a id="Tc_uKnPbCX0H0-y0nS2004img_11_0"></a><a id="Tc__vjFoPz2nEy0-szGB8JBfg_11_5"></a><a id="Tc_oqIxMJpymk-K2hvO2neI5A_11_11"></a><a id="Tc_uSM8wE4DxUCqlNyR-Gb2nQ_11_14"></a><a id="Tc_WGCDWjYiE0S9vIV-Po1OJg_11_17"></a><a id="Tc_QccP2REYGkSP9Xdhq48phA_12_0"></a><a id="Tc_5IsSdxWnkka4RW5bxwxqBA_12_2"></a><a id="Tc_rIETP5Qp6keOBRlXhMXxmA_12_5"></a><a id="Tc_9O0FQpM-EEWLxaYsvFaSYw_12_8"></a><a id="Tc_aI2cDHFVBEGN1TDLwiJlCw_12_14"></a><a id="Tc_vwyYOiOt00aA3GCFWbic3w_12_17"></a><a id="Tc_7Y2q7MX1rEqmW0PCl7OBFA_13_0"></a><a id="Tc_20PNRnzWuUqk51TCkzLZdA_13_4"></a><a id="Tc_h1w2T1pcbEiCja4-rD1ntQ_13_7"></a><a id="Tc_W_rTqNPRn0eFXgID5cSSjA_13_10"></a><a id="Tc_iFCkDPkY-kOAwouLgSb3jg_13_13"></a><a id="Tc_6V0ZdS-XRU-RceKivObx6w_13_16"></a><a id="Tc_dXNj_YufI024gfVps0FUPA_13_19"></a><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common&#160;Stock</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Paid-in</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Controlling</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stockholders&#8217;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="color:#ffffff;font-weight:bold;">0</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Loss</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Interest</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balance, December&#160;31,&#160;2019</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_qzRK51STIk-KH3qH8F940g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="0" id="Tc_nhIc1xwrOkSdeG9vN-h9pg_5_2">48,665,138</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_qzRK51STIk-KH3qH8F940g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_5SNd9_hTmkG1aulj0rdpLA_5_5">5</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_t9cywGXHwUu6kcA7hL0ieA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_KXz02vUNPEWagLeYo48Fbg_5_8">97,130</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_kyafOJKauEWQ05vckZzX7g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_c3Zfjdm4C0e5oZENKWGBZw_5_11">531,291</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_HWwisHfqBUeJPdLX34peBQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_hJNwqSUZuUCZ6bFADh3lNw_5_14">76</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QP1_UDuxrUOqsmY-PIwesA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_qYdhwGc9JUKTEjqs-8nnKg_5_17">1,028</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_Un-fHdYn7UOyExHLiS4ouw_5_20">629,530</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net (loss) income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Wdlu4I2afEm-YQ_ry6RVhg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_4uW32fby8k-Yz5IxqUXh1w_6_11">3,737</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_TGSKdnOgJkK8W3K5P-gLGw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_0PL7HaTRSkGfj8v4ZYnKEg_6_17">3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_0_BeK4ldW0ekfDcydpy_Pg_6_20">3,734</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign currency translation adjustments, net of tax</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_6Ke8_r6X50CQx5s-7TNlAQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_Vj3uBIHp_ECWgTjkT9eE7Q_7_14">1,737</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc__UAnZI7Fl0iTS-F6NiaAkA_7_20">1,737</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Issuance of shares to employees and directors</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_gMw8MOx9OkKszJwWwf-lyQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" id="Tc_9VzQbhLQC0GKyA81JZgxpA_8_2">51,268</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_MsIQasilQketwhwh7qqcMg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="Tc_g11zQ38P6E259JLbFywo7Q_8_8">1,174</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="Tc_VbrZ4uAuJE-B8VP9R4GqEw_8_20">1,174</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Amortization of Restricted Stock Units</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_MsIQasilQketwhwh7qqcMg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" scale="3" id="Tc_dSdFj6cucUGgwoim28Wm4g_9_8">499</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" scale="3" id="Tc_fc8Kva-If0Wa0YW_XyAlDQ_9_20">499</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Dividend equivalent Units accrued - Restricted Stock Units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_MsIQasilQketwhwh7qqcMg" decimals="-3" format="ixt:numdotdecimal" name="prim:DividendEquivalentUnitsValue" scale="3" id="Tc_SImZygtpPkulgpK07baDeA_10_8">4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Wdlu4I2afEm-YQ_ry6RVhg" decimals="-3" format="ixt:numdotdecimal" name="prim:DividendEquivalentUnitsValue" sign="-" scale="3" id="Tc_2sPXUrU-FEud3HgYCDz24A_10_11">4</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Repurchase of stock</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_gMw8MOx9OkKszJwWwf-lyQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Tc_A4noo99jFEK5ZakjpPSm4A_11_2">461,831</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_MsIQasilQketwhwh7qqcMg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_A7b_8fhvVUWS6r4DiqwfIQ_11_8">7,393</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_QcSBNLH9Qkaz3J7QLRBNhA_11_20">7,393</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Dividends declared ($<ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_cXs9zmwmRkqVG8tiUi-Cjw">0.06</ix:nonFraction> per share)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Wdlu4I2afEm-YQ_ry6RVhg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_4qf2crIHIkGTDshvXKyX8Q_12_11">2,895</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_jSENgGNujkutcjqX1hGHTA_12_20">2,895</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balance, March&#160;31,&#160;2020</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hLyD84j6zk-Js9famkuJYw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="0" id="Tc_Xl-_qq9Krk6a6gvqMVJbxw_13_2">48,254,575</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hLyD84j6zk-Js9famkuJYw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_oFmVejgip06dC26OqZU7Sw_13_5">5</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zywOvqclXUO_YxA783HLqQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_E5zrVoHibke3ZAbq1TCMzA_13_8">91,414</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_6_zdSVeeVECaLnvLtVw7yg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_dI5fDSLMa0qUnpAO_kTBIA_13_11">524,655</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_4keRjePzk06EVLeS-3ZrAQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_N6-hPRkI5ESNNCpM4PDIiA_13_14">1,661</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_309aR4C2ckq5KPv-P8LaZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_yCqZNnGO_kaza_KKU45Zfg_13_17">1,031</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_b_WjDdxIoEaHtWSlBUcO0Q_13_20">615,444</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_19b22f43_2b21_450b_b163_c1607dd95891"></a><a id="Tc_FUa6R94FV0GpMV7iM_0OwA_1_13"></a><a id="Tc_nIYjhJK1WE2uBGuFVCb63A_2_7"></a><a id="Tc_Lzd0Z6r9Bk-NIe0Wj1fksw_2_13"></a><a id="Tc_VJh6odvfo0uugIizNZ2jLQ_2_16"></a><a id="Tc_3cNUkHjqREaY2cW0LhpE4A_2_19"></a><a id="Tc_TGbKJD0590yAG2BmoQCqJw_3_2"></a><a id="Tc_AjFoGHVPCUyJIqwOTj5-Lw_3_7"></a><a id="Tc_DVxPGO0L4kWb-lGX99pxjQ_3_10"></a><a id="Tc_UTGTPM7ysU6CPwUUWo3C6g_3_13"></a><a id="Tc_fqu9TO0XQ0WkTB-dtJux2A_3_16"></a><a id="Tc_6da2whe_JkKLXYrzdsDj-A_3_19"></a><a id="Tc_q5sSpcycIkW2fcAPwAlqNg_4_2"></a><a id="Tc_CMbWQEj_vkqmBdHam9n8Vw_4_4"></a><a id="Tc_K16_R6UQJkyFZCVM7CkXwQ_4_7"></a><a id="Tc_UZTxuD-HRUiaspLxcmWNpQ_4_10"></a><a id="Tc_IYMIx1d1kU6wMeQgDmtPtA_4_12"></a><a id="Tc_Is_jkQQtWEKrJa1iFA1Vdw_4_13"></a><a id="Tc_QKYnaRwslkGMj66Sy0oeWA_4_16"></a><a id="Tc_fbHJg7MON0CPCTTufTRtow_4_18"></a><a id="Tc_iOlC80CkBkS3VMa2xVzV_w_4_19"></a><a id="Tc_usCOQ9ZUmE-Wn4z7UZEcAQ_5_0"></a><a id="Tc_fTCwaC9eEUidk3IG5O9Wzg_5_4"></a><a id="Tc_e8MedOUfSky_lPYIUMY4xA_5_7"></a><a id="Tc_cfimN03lo0-bqLIBl4-o-A_5_10"></a><a id="Tc_YilW8IQzNkahgblTPh7srw_5_13"></a><a id="Tc__CBQZiwvfkyF8EwcSCEioQ_5_16"></a><a id="Tc_hwP06R7suEuxzs06U6p20A_5_19"></a><a id="Tc_tpG9VtdJwkyIuTAtyrQ8ew_6_0"></a><a id="Tc_QP1VpZF8ckmoVkrzNXl1QA_6_2"></a><a id="Tc_qzB3tMI5aUCqMrQdy5moSA_6_5"></a><a id="Tc_8vXJ-rKCrUO2GFTcukDi5A_6_8"></a><a id="Tc_wxis84eMQUyZoZDosoBCxg_6_14"></a><a id="Tc_LLexH9uywEuh0-4WOjL3Wg_7_0"></a><a id="Tc_OVZ13o3rB0CgOCRY-gOfvQ_7_2"></a><a id="Tc_Ll0kTFAzx06ELS8BxqWXRA_7_5"></a><a id="Tc_OFfx_Jq2D023ud0P1i6V6w_7_8"></a><a id="Tc_yKDbzkTBmUeRI7cEQgXAIA_7_11"></a><a id="Tc_kgU0InIIBECZHg0sL9fbog_7_17"></a><a id="Tc_Hgj7MH7Q9EWIqH29ockK0Q_8_0"></a><a id="Tc_1gshva7MoUG3vSDPkHbeUA_8_5"></a><a id="Tc_-xD-qHeEk0ymLOKx-G2Zfg_8_11"></a><a id="Tc_0jjNSVjeO0-4LSQX02yRYQ_8_14"></a><a id="Tc_abwKnHix9kWrGdfdQj-ScQ_8_17"></a><a id="Tc_W_7vg-pfO0OqF6p7znjLig_9_0"></a><a id="Tc_aeGHOtZodk6wRxgS-FZ6rg_9_2"></a><a id="Tc_Y_-x1UVnIkCM4-ZdHKaNMQ_9_5"></a><a id="Tc_3sk6klEL4EuldUd62I-BYQ_9_11"></a><a id="Tc_m8_GQbeVA02yqO7P3B9z-A_9_14"></a><a id="Tc_fAUbkTYVBkWO302L1DloRA_9_17"></a><a id="Tc_P8A96a8KEUOBViXkslbt9A_10_0"></a><a id="Tc_0jjv4-YzPUaDcFr9wIvZvg_10_2"></a><a id="Tc_CyQ2OzQRAUe3nhsexE4qMw_10_5"></a><a id="Tc_7SYNc5Wxk0irvidtHlK9rg_10_14"></a><a id="Tc_6YtSWI3EwEe3AbL2Sf8qwQ_10_17"></a><a id="Tc_fQOxUuV0XkGK7XpxP4RFoA_10_20"></a><a id="Tc_P1gOUWxmukGIC1LK_ASb0w_11_0"></a><a id="Tc_KF6j7T2zUUCfg_tl-U7YFQ_11_2"></a><a id="Tc_4g5ULh2MGkyFAAk60WW-Fg_11_5"></a><a id="Tc_2C9D5S1H-02TLp-MB1TP1w_11_8"></a><a id="Tc_gTdOyx0-sk2ATfqu70Ulmg_11_11"></a><a id="Tc_QJwJ3Ui3AUSQK5Cb26c46w_11_14"></a><a id="Tc_J4XXfzYGY0WQ-hzigwsxUQ_12_0"></a><a id="Tc_Ugov91gsZk6fwi2gK7zujA_12_2"></a><a id="Tc_gtzzkM7zUEir1-4us2OBlQ_12_5"></a><a id="Tc_J9N0hfKLY0uv6PsTfYOEnA_12_8"></a><a id="Tc_xvoK7_JL6EKXtMJrU4xODw_12_14"></a><a id="Tc_KqTldidOdUyH8VnJTJHNuA_12_17"></a><a id="Tc_FdLgmlcXb0iIwMIxvHpyHw_13_0"></a><a id="Tc_ED6Oi9tnjUCIIuHY8lnc5g_13_4"></a><a id="Tc_jdL4gU_rNEuq6r_rFM1fWw_13_7"></a><a id="Tc_AOfwboiYbk6hqpbmOcKwAA_13_10"></a><a id="Tc_cLhj8P1BEkut0B8Pad3LwA_13_13"></a><a id="Tc_n-SGQNCyGUm2OigwRGcqUg_13_16"></a><a id="Tc_BgX0dTL5HkWlbygUx0qiIg_13_19"></a><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common&#160;Stock</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Paid-in</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Controlling</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stockholders&#8217;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="color:#ffffff;font-weight:bold;">0</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Loss</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Interest</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><span style="color:#ffffff;">0</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balance, December&#160;31,&#160;2018</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5mGWNOYUnE-shy_TQPGp3A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="0" id="Tc_RStGAl11xEaIn1A8vX8dNg_5_2">50,715,518</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5mGWNOYUnE-shy_TQPGp3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_dlZjsVqKKUixLOT9x2yJUw_5_5">5</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_k7h8_liM3ESDdhs4XF4ICQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_EEUnNwPNUUq4TLE7KMvDRA_5_8">144,048</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_YcxDFztXrU6eNrqRCCqv3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_RvNRKiHuPkOK_hPTDqQjMQ_5_11">461,075</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Rv7Jqn0xzUKc3gv2VwHwnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_q63ygOvFL0mtEFYA-zf2qQ_5_14">908</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_SsY5YYUjMkqyDws2ZbO8mg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_GkJHLXN_zkKClmuSPkKtaA_5_17">2,763</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2018_UI69RbtkLEyy-6xSDhaoQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_PRhgWvS0pUqu7h_KIqLKpA_5_20">606,983</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fT1uVmytCk2_724EJKos9w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_SjQlclhT10WXl7VNP7ryNg_6_11">1,947</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember__WghLiqXmUqDp8Bvg7ppqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_3Ev7bQ8410CvuomOZH2aMg_6_17">989</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_T_jDMlSv-UeKyFkcdYokYQ_6_20">2,936</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign currency translation adjustments, net of tax</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_4iVKQ7sd2EuJ0qwkgnc0Yg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc_FupdPrN3dUqa6MiaHgfZiw_7_14">374</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc_vhZWUiDR40OYHZrSqlopuQ_7_20">374</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Issuance of shares to employees and directors</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Quj6nCf540uKRpgXlNtcxA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" id="Tc_IzGE1YJhJ0CuOi3RMuRNBA_8_2">127,384</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3Pkr8OsgjkWvKqtJ7vo0rA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="Tc_jgMg5fxTRUSjzqz2tyUIxQ_8_8">2,661</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="Tc_ES8qNgPX8Uu-TI7v-1p3OA_8_20">2,661</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Amortization of Restricted Stock Units</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3Pkr8OsgjkWvKqtJ7vo0rA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" scale="3" id="Tc_LS2KWmFB0kmVPwQlNpSTLA_9_8">487</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" scale="3" id="Tc_sZ8wPR7n2ke3PtT8JO2Uzg_9_20">487</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Dividend equivalent Units accrued - Restricted Stock Units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3Pkr8OsgjkWvKqtJ7vo0rA" decimals="-3" format="ixt:numdotdecimal" name="prim:DividendEquivalentUnitsValue" scale="3" id="Tc_2Y8Dov-bI0eVQRE_Vl6UcQ_10_8">12</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fT1uVmytCk2_724EJKos9w" decimals="-3" format="ixt:numdotdecimal" name="prim:DividendEquivalentUnitsValue" sign="-" scale="3" id="Tc_efR1M35FHUezu-QTqAUTQQ_10_11">12</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Distribution of noncontrolling entities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember__WghLiqXmUqDp8Bvg7ppqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" scale="3" id="Tc_w0z-mDUnrEKlqpTSV0Pghw_11_17">5</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" scale="3" id="Tc_NzarSruPe02o7eMn6IwB3g_11_20">5</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Dividends declared ($<ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_cAKKFiJB1EaC6TSQ_u4ziA">0.06</ix:nonFraction> per share)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fT1uVmytCk2_724EJKos9w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_qXrLpyql5EuKnIW8gzII0A_12_11">3,051</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsCommonStockCash" scale="3" id="Tc_1oH1LoTAy0S-igDiW5qeEg_12_20">3,051</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:27.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balance, March&#160;31,&#160;2019</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Ae3lZQItx0K2-mvFHkql1g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="0" id="Tc_Ow4vyY6GOEm9utEUxC4sqQ_13_2">50,842,902</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Ae3lZQItx0K2-mvFHkql1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_jW4OeUxHvEiJXtq-UisnSw_13_5">5</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_auZIDVeeaEyNfAn1LZl2bA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_JmB6zQBmdUC9KE6LEy6pJQ_13_8">147,208</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_VJSsOg7ML0e6q-NZvFnm5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_MBuM9YTUXkukU3cn1sLZyg_13_11">459,959</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_WnDTPOEv90ybNwg-WesYNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_urEBxjaJD0qO59paFqfVFw_13_14">534</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_62rPEKeKdE-u74ZczWKjDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_xP5Kus7q-0mG78j2eyV8Dw_13_17">3,747</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_BjsJTruINU-LOSyHj80fxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_Ih5nWhIzQUao9klk84u3ew_13_20">610,385</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See Accompanying Notes to Condensed Consolidated Financial Statements</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_45d34f0e_bdb1_48f4_a936_ada7503ae95e"></a></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">6</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PRIMORIS SERVICES CORPORATION</b></p><a id="CASHFLOWS_643424"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOW</b><b style="font-weight:bold;">S</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In Thousands)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><a id="_8b0c8c2c_9dd8_45ca_bb22_a75d7681c056"></a><a id="Tc_cxVAW_Ed8U-IU53gikE3Xg_1_2"></a><a id="Tc_AZBMcVvlxUCCL-Va0mID_w_2_2"></a><a id="Tc_-PuGYtvXw0WYGxYIu1tSzg_3_2"></a><a id="Tc_J3_Ip4fBkEWd35F6aGjlag_3_5"></a><a id="Tc_duZXY4kps0-s4L-YRGs1rg_4_0"></a><a id="Tc_ucishc_QLkOrO2hZ4JDesQ_5_0"></a><a id="Tc_l8_26rULWk697XcXcjUcFA_5_2"></a><a id="Tc_yBnAm9ruvEqp74NClTpeoQ_5_5"></a><a id="Tc_DAbBwdFLvkib0g4BJcu5uA_6_0"></a><a id="Tc_kHzUFS6ZbEqj2FjVe19EHQ_7_0"></a><a id="Tc_5-3LF-DIFka_uQel6yErtQ_8_0"></a><a id="Tc_LCqlq_OhmkmfAKqdiQ3lzA_9_0"></a><a id="Tc_5-29umk2LkORdFfuQvpdnA_10_0"></a><a id="Tc_3-ZSNlvynUSwiS8PQ_Sxzg_11_0"></a><a id="Tc_7BP9CLK_K0WjWWwXM_alSQ_12_0"></a><a id="Tc_I0T7NLco9UCkzeFQbGpt_Q_13_0"></a><a id="Tc_MMgL-qgL6EifxS9ELSHbzg_14_0"></a><a id="Tc_1gI16SKhr0yENsFHDeIjSQ_15_0"></a><a id="Tc_lqTdAS55o0OCvFCH_O9UaQ_16_0"></a><a id="Tc_TljQ1yYX1kanbWbuyyiCfA_17_0"></a><a id="Tc_N0T6SStEIkSDF8rR6m9heQ_18_0"></a><a id="Tc_-YMv24J0m0Crx4Hy9ZKt2A_19_0"></a><a id="Tc_Ew6Y7zb-WEC6PT5ql66k0A_20_0"></a><a id="Tc_bb30fMOkc0CSmtSUjFntGg_21_0"></a><a id="Tc_1axicAVasU-dA6-hhyMiEw_22_0"></a><a id="Tc_qTRaqKCam0WUXJcQxbrKKA_23_0"></a><a id="Tc_8jLmOBvS7kaUEGcIjWHMCw_24_0"></a><a id="Tc_JEOnbD3tMka9n_aQoRz6PQ_25_0"></a><a id="Tc_XTFuI-OvWkG-9GI1NN0yWQ_26_0"></a><a id="Tc_0u8v61gZIE2v7-sSVrvVEQ_27_0"></a><a id="Tc_rP5mbhmJwkW2zUlQWwmKmw_28_0"></a><a id="Tc_gjoxvp6Yi0KG8FjuEC1meA_28_3"></a><a id="Tc_UcKU3ZdReU2BbCikGQmzpg_29_0"></a><a id="Tc_7TZr13UgaU6oD9XipUkUIA_29_3"></a><a id="Tc_wc79v_PzsEqLutzk7NyH5Q_30_0"></a><a id="Tc_DpNwAkT5UkixWu77hmR-2w_31_0"></a><a id="Tc_idBB7esNI0CZnqY3gbIk4w_32_0"></a><a id="Tc_OwhERCeAaU2PKaQy6wGvrA_33_0"></a><a id="Tc_YerYWDoaC0Cs-cNr72ZSVw_33_6"></a><a id="Tc_Y2cI0E7-9kiJvn7VM49HAA_34_0"></a><a id="Tc_Ob2NvoKXbkC3h6QuKxDVEQ_35_0"></a><a id="Tc_TifSQoVMv0es0U1cQ4JGYQ_36_0"></a><a id="Tc_L-rYZFni8ESHjDAQFbpEbQ_37_0"></a><a id="Tc_SUjfibrqLkS9hnCQ1i1AhQ_38_0"></a><a id="Tc_21YS3WPmFkqCk5RL6Xksww_39_0"></a><a id="Tc_nSj8ISfUH0Wfpg3YFuyJ9Q_40_0"></a><a id="Tc_HjkAzl4D7Uibx2_pWJog2Q_40_2"></a><a id="Tc_cN_vqRpYHUmOpXcgZElkog_40_5"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;width:24.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;width:24.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash flows from operating activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net (loss) income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_cekFTVLlGUGoDDeSAwnr8A_5_3">3,734</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_mwo-Feb1w0SkKdX-GVjpkw_5_6">2,936</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Adjustments to reconcile net (loss) income to net cash used in operating&#160;activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_HP31SQA_J0qMpRAUFGHWkg_7_3">19,797</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_Ep9Al7DORk6ClSYNgCJYGQ_7_6">21,700</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Stock-based compensation expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_omCwzqR0j0iCP5Aa5iElsQ_8_3">499</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_AnjBcBQilEW_lXSHiM_dMw_8_6">487</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Gain on sale of property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="Tc_pynR4iVIB0-5_gqGSTWUHA_9_3">2,311</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="Tc_0xbV3DgV3Uez4eXFIe8nOQ_9_6">2,217</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Unrealized loss on interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrealizedGainLossOnDerivatives" sign="-" scale="3" id="Tc_5ulP3U_RXEyPDa5kTK7BGA_10_3">4,970</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrealizedGainLossOnDerivatives" sign="-" scale="3" id="Tc_XpWr5y-iPkqubuymYaHhPg_10_6">1,447</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other non-cash items</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNoncashExpense" scale="3" id="Tc_aZGS2Y8iskuaOmi1yvZLhQ_11_3">1,821</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherNoncashExpense" scale="3" id="Tc_e5UCXsYJ5Uqfofh84BpdwQ_11_6">80</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Changes in assets and liabilities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInReceivables" scale="3" id="Tc_MKIcveauEk6zwOeceGdffA_13_3">13,911</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInReceivables" scale="3" id="Tc_qQmUhcnM_06PaVYIGkgMeA_13_6">24,722</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Contract assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_SuVt92-XV02QFFMCQ3pOyw_14_3">15,682</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_75O6AD9s1EGG1RrSWswnIQ_14_6">2,328</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" scale="3" id="Tc_HHrXNedInUGQpB3HA6E72g_15_3">4,849</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" scale="3" id="Tc_yldkPSw3N0iEY7xtJEU79w_15_6">2,231</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Other long-term assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" sign="-" scale="3" id="Tc_s1G0CU9wCEiLYOcpJSZlCw_16_3">204</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" sign="-" scale="3" id="Tc_qZT7OwlAMEii9o0WyUmQLA_16_6">182</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="Tc_wSKLiklWykmKiHp5aQTPRg_17_3">23,934</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" sign="-" scale="3" id="Tc_sk9ELzVfkU26qHWIrl4_rw_17_6">59,198</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Contract liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" sign="-" scale="3" id="Tc_0UrG-zAfe0CYmBMpi1L10Q_18_3">15,389</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_Lq_VlYxu1kqIbFWpO3g7mQ_18_6">2,590</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Operating lease assets and liabilities, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="prim:IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities" sign="-" scale="3" id="Tc_UPNIY8f4Mk-D3WlZvAx-xA_19_3">119</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="prim:IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities" scale="3" id="Tc_Cfpnw_6TM0mYaJn_i3DXdg_19_6">1,447</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Accrued liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" sign="-" scale="3" id="Tc_IV6Ptv3BqkCllZbJooWf4w_20_3">179</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" sign="-" scale="3" id="Tc_EOXMI-aYvEGl-_uVqMiUQg_20_6">9,663</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Other long-term liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" sign="-" scale="3" id="Tc_8S5wtuHZyEqu6BwiOKrLHg_21_3">756</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" scale="3" id="Tc_xmEurWBvu0Ck1zjqIVykRw_21_6">288</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Net cash used in operating activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_o0bMyfV6GUS3W-n7N5dI8w_22_3">5,467</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_IhiruqxOoUWo-azUUgWxqQ_22_6">72,096</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash flows from investing activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Purchase of property and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_i32BBKw2IkSxWegRoE9hEA_24_3">9,311</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_8XfM2Ih_BE2YASaUoi7ftQ_24_6">14,377</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Proceeds from sale of property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_gFSEKxHFjEG3AsGDAYAGLw_25_3">6,902</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_b_9bNQ6rUEGjmAM7S6R83A_25_6">4,398</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Net cash used in investing activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_EWCZbeqXPk2_Akm5iW1doQ_26_3">2,409</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_TY6bRaYt402QwztAZeyoaw_26_6">9,979</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash flows from financing activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Borrowings under revolving line of credit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="Tc_WL11sbOgGEeZtgDVw_iwmg_28_6">40,000</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Payments on revolving line of credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLinesOfCredit" scale="3" id="Tc_r90mXsbQx0yUWxSOrwEmTQ_29_6">40,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Proceeds from issuance of long-term debt </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" scale="3" id="Tc_VNg0DoX1vUOFR1pxvlhCYw_30_3">6,800</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" scale="3" id="Tc__QecvjCPvkW_6KPY-S3RUw_30_6">23,105</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Repayment of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" id="Tc_Cn4o-msjKkim5zfEj8sz7w_31_3">14,976</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" id="Tc_0DQXAc7YPEGosOP5oUR4Hg_31_6">17,170</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Proceeds from issuance of common stock purchased under a long-term incentive plan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" id="Tc_eRRuZODAY02W8e8myzWG0g_32_3">578</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" id="Tc_HFWNPjWxjUuJgsqx77e27A_32_6">1,804</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Repurchase of common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_CiSWg5Hg50eJ7QJU5Ysgfw_33_3">7,393</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Dividends paid </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" id="Tc_yDReh-TRFU2R4wxI0MV8Yw_34_3">2,919</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" id="Tc_UcW4YBNn40Gacq76--CsAw_34_6">3,043</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" sign="-" scale="3" id="Tc_ws4oqYVoTkqJVuxR1HfuTw_35_3">1,285</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromPaymentsForOtherFinancingActivities" sign="-" scale="3" id="Tc_eNYyQ0x_AUG1qtihTaflgg_35_6">26</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Net cash (used in) provided by financing activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_vVaTNXJr6UGySkdQdKhG-Q_36_3">19,195</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_XmTGKY1muUOPn8kVO5Pmqw_36_6">4,670</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of exchange rate changes on cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_fN7ecUqoyEG3V7KON7jHkA_37_3">259</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_bHp-eBYig0S-qjLkQRA_LA_37_6">327</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net change in cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_UwLVarHDgU6XRJxbLxi-2g_38_3">26,812</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_v0R61c-FiUW_NqALhKkirA_38_6">77,078</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents at beginning of the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_6zUlzCEfs0GPZp_0iPDBsg_39_3">120,286</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2018_UI69RbtkLEyy-6xSDhaoQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_65cr4sX9zk29gDCpLog0gg_39_6">151,063</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents at end of the period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_7-kVlKHISUmoJYu07_KDpw_40_3">93,474</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_BjsJTruINU-LOSyHj80fxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_89NzAV2hYUutwmv6dyKjHA_40_6">73,985</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See Accompanying Notes to Condensed Consolidated Financial Statements</p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">7</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PRIMORIS SERVICES CORPORATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In Thousands)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_9a6f61c4_c5cd_4e30_8d10_8b18fc4efed5"></a><a id="Tc_HVe4hTqEEEeNc9EbdkgUEQ_1_2"></a><a id="Tc_agmCqQty-kO2mP5jXxiJAQ_2_2"></a><a id="Tc_A3byrl7l-Eas9iQxkMLhQQ_2_5"></a><a id="Tc_GLY-Cb7eKkSxdWnmh3bZ_Q_3_0"></a><a id="Tc_Huv6SK_kKEmbr7-Gug1UPg_3_2"></a><a id="Tc_AVZ0PYrjxU2CeQRAJtW7Qw_3_5"></a><a id="Tc_8s2X-LMc9k6-1Nwjpmm6aA_4_0"></a><a id="Tc_StFnEP8Ivkmz9IEw1oFeaw_5_0"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:65.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;width:28.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:65.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for interest </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_V9samQ-FAkuxlmTA5tnQLg_3_3">4,061</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_VKQskpAx_k6o2Fv_W1tt5g_3_6">4,065</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for income taxes, net of refunds received</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" sign="-" scale="3" id="Tc_fdJ_XKPVHUeQlI4XSxN36Q_4_3">369</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" sign="-" scale="3" id="Tc_Osb8DJ6ty02B9Ibcb51n9w_4_6">707</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:65.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Leased assets obtained in exchange for new operating leases</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_dOCVil4cMEmwVi5vwhitSA_5_3">34,711</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_FZ35Q8T5_UqBDcYrO2bGbw_5_6">8,847</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_1248d2aa_66b9_424f_9d2c_04f78a75d419"></a><a id="Tc_I_dSX1o7jEWMFODtW3stGA_1_2"></a><a id="Tc_uxdFlLIEG02DgO1ZGsogAA_2_2"></a><a id="Tc_Oy27V-DwvkuiAmJr1_6bZg_2_5"></a><a id="Tc_ig47uGZ6IkGMwlvioIjRTg_3_0"></a><a id="Tc_5UdiO5-2vUuBxz4v-Ym3Jw_3_2"></a><a id="Tc_hLG6YPoqlUm2MjIQvqfvZA_3_5"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:69.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;width:25.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:69.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:69.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Dividends declared and not yet paid </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsPayableCurrentAndNoncurrent" scale="3" id="Tc_JW8UaKqvlkCzx6GzJ2Ox_g_3_3">2,895</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_BjsJTruINU-LOSyHj80fxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DividendsPayableCurrentAndNoncurrent" scale="3" id="Tc_54-L5k_S0U-TF8mBjAXp0Q_3_6">3,051</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See Accompanying Notes to Condensed Consolidated Financial Statements</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_86c0e5ed_7f3d_4ab6_902a_5ea0bd7c3e94"></a></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">8</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PRIMORIS SERVICES CORPORATION</b></p><a id="NOTESTOCONDENSEDCONSOLIDATEDFINANCIALSTA"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENT</b><b style="font-weight:bold;">S</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Dollars In Thousands, Except Share and Per Share Amounts)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Times New Roman Bold';font-weight:bold;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:NatureOfOperations" id="Tb_gyvbZtt1WUGBum2IwCGxXw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;1&#8212;Nature of Business</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Organization and operations &#8212; </span>Primoris Services Corporation is one of the leading providers of specialty contracting services operating mainly in the United States and Canada. We provide a wide range of specialty construction services, fabrication, maintenance, replacement, and engineering services to a diversified base of customers through our <ix:nonFraction unitRef="Unit_Standard_segment_zK27MSdamEeRnPBVsDPe7g" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_KMgKe2y59USQCCsC_MhArw">five</ix:nonFraction> segments. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have longstanding customer relationships with major utility, refining, petrochemical, power, midstream, and engineering companies, and state departments of transportation. We provide our services to a diversified base of customers, under a range of contracting options. A substantial portion of our services are provided under Master Service Agreements (&#8220;MSA&#8221;), which are generally multi-year agreements. The remainder of our services are generated from contracts for specific construction or installation projects. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are incorporated in the State of Delaware, and our corporate headquarters are located at 2300 N. Field Street, Suite 1900, Dallas, Texas 75201. Unless specifically noted otherwise, as used throughout these consolidated financial statements, &#8220;Primoris&#8221;, &#8220;the Company&#8221;, &#8220;we&#8221;, &#8220;our&#8221;, &#8220;us&#8221; or &#8220;its&#8221; refers to the business, operations and financial results of the Company and its wholly-owned subsidiaries.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Reportable Segments </span>&#8212; We segregate our business into <ix:nonFraction unitRef="Unit_Standard_segment_zK27MSdamEeRnPBVsDPe7g" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_KtBWtenjW0Omo5VlZqEn-g">five</ix:nonFraction><span style="white-space:pre-wrap;"> reportable segments: the Power, Industrial and Engineering (&#8220;Power&#8221;) segment, the Pipeline and Underground (&#8220;Pipeline&#8221;) segment, the Utilities and Distribution (&#8220;Utilities&#8221;) segment, the Transmission and Distribution (&#8220;Transmission&#8221;) segment, and the Civil segment.  See Note 17 &#8211; &#8220;</span><i style="font-style:italic;">Reportable Segments</i>&#8221; for a brief description of the reportable segments and their operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses were made.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Joint Ventures </span>&#8212; We own a <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="As_Of_3_31_2020_srt_OwnershipAxis_prim_CarlsbadConstructorsJointVentureMember_ShSeZLNsy06lRSucjW6V4A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_A1FMATzbFE6ooLbp0DWneg">50</ix:nonFraction><span style="white-space:pre-wrap;">% interest in the Carlsbad Power Constructors joint venture (&#8220;Carlsbad&#8221;), which engineered and constructed a gas-fired power generation facility located in Southern California, and its operations are included as part of the Power segment. As a result of determining that we are the primary beneficiary of the variable interest entity (&#8220;VIE&#8221;), the results of the Carlsbad joint venture are consolidated in our financial statements. The project was substantially complete as of December 31, 2018, and the warranty period expires in December 2020.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Financial information for the joint ventures is presented in Note 10 &#8211; <i style="font-style:italic;">&#8220;Noncontrolling Interests</i>&#8221;. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="Tb_GibbF012IkKh0urJrD_n_A" continuedAt="Tb_GibbF012IkKh0urJrD_n_A_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;2&#8212;Basis of Presentation</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Interim condensed consolidated financial statements</span> <b style="font-weight:bold;">&#8212;</b> The interim condensed consolidated financial statements for the three month period ended March 31, 2020 and 2019 have been prepared in accordance with Rule&#160;10-01 of Regulation&#160;S-X of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;). As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form&#160;10-K, filed on February&#160;24,&#160;2020, which contains our audited consolidated financial statements for the year ended December 31, 2019, have been omitted. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">This Form 10-Q should be read in conjunction with our most recent Annual Report on Form&#160;10-K. The interim financial information is unaudited. &#160;In the opinion of management, the interim information includes all adjustments (consisting of normal recurring adjustments) necessary for the fair presentation of the interim financial information.&#160;</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Customer concentration</span> &#8212; We operate in multiple industry segments encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top <ix:nonFraction unitRef="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="INF" format="ixt-sec:numwordsen" name="prim:ConcentrationRiskNumberOfTopCustomers" scale="0" id="Narr_izHFnmcSgU2_eRJBlor3mA">ten</ix:nonFraction> customers in any <ix:nonFraction unitRef="Unit_Standard_item_coXTvHw4E0WcPTv7PyIXqA" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="INF" format="ixt-sec:numwordsen" name="prim:ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue" scale="0" id="Narr_xeLqMARSOEuBTyVMu_cyxQ">one</ix:nonFraction> calendar year generate revenue that is approximately <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="2" format="ixt:numdotdecimal" name="prim:ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers" scale="-2" id="Narr_giLSD4ll5UqJWzVLw45Hmg">50</ix:nonFraction>% of total revenue; however, the group that comprises the top <ix:nonFraction unitRef="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="INF" format="ixt-sec:numwordsen" name="prim:ConcentrationRiskNumberOfTopCustomers" scale="0" id="Narr_IvZrayWa2USi5jVNlvS0sQ">ten</ix:nonFraction> customers varies from year to year. For the three months ended March 31, 2020 and 2019, </p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">9</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_GibbF012IkKh0urJrD_n_A_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">approximately <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WhrgXfr05U6NjeAxsjbZRw" decimals="3" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_F6j45gTIIUCgsP8k4hL1hQ">50.1</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_u1ZWj_DlAk6gTaJtuUlm0Q" decimals="3" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_nmIpU_dtTkK7MdeQIzl7xg">49.1</ix:nonFraction>%, respectively, of total revenue was generated from our top <ix:nonFraction unitRef="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_u1ZWj_DlAk6gTaJtuUlm0Q" decimals="INF" format="ixt-sec:numwordsen" name="prim:ConcentrationRiskNumberOfTopCustomers" scale="0" id="Narr_0deb7rHQNUm3SBgrqVDp_w"><ix:nonFraction unitRef="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WhrgXfr05U6NjeAxsjbZRw" decimals="INF" format="ixt-sec:numwordsen" name="prim:ConcentrationRiskNumberOfTopCustomers" scale="0" id="Narr_6RWutwEK-02TzFrsQQVfAQ">ten</ix:nonFraction></ix:nonFraction> customers. For the three months ended March 31, 2020, <ix:nonFraction unitRef="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_PipelineCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_HsKkXgDMn0ya9QDmWDiZYg" decimals="INF" format="ixt-sec:numwordsen" name="prim:ConcentrationRiskNumberOfCustomers" scale="0" id="Narr_tsoghvXaCUmRwOipvGqFjQ">one</ix:nonFraction> pipeline customer represented approximately <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_PipelineCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_HsKkXgDMn0ya9QDmWDiZYg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_U8gTHTYoWUqfW-Nx8IOyXA">11.3</ix:nonFraction>% of total revenue and for the three months ended March 31, 2019 no one single customer represented greater than 10.0% of total revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" id="Tb_uaF1edX4uEqw9GkXYIzhow" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;3&#8212;Recent Accounting Pronouncements</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Recently adopted accounting pronouncements</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In June 2016, the FASB issued ASU 2016-13, &#8220;Financial Instruments&#8212;Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&#8221;, which introduced an expected credit loss methodology for the measurement and recognition of credit losses on most financial assets, including trade accounts receivables. The expected credit loss methodology under ASU 2016-13 is based on historical experience, current conditions and reasonable and supportable forecasts, and replaces the probable/incurred loss model for measuring and recognizing expected losses under current GAAP. The ASU also requires disclosure of information regarding how a company developed its allowance, including changes in the factors that influenced management&#8217;s estimate of expected credit losses and the reasons for those changes. The ASU and its related clarifying updates are effective for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted. We adopted the new standard on January 1, 2020, and it did not have a material impact on our estimate of the allowance for uncollectable accounts.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In August 2018, the FASB issued ASU 2018-13, &#8220;<i style="font-style:italic;">Fair Value Measurement (Topic 820): Disclosure Framework&#8212;Changes to the Disclosure Requirements for Fair Value Measurement</i>&#8221;, which eliminates certain disclosure requirements for recurring and nonrecurring fair value measurements. The ASU eliminates such disclosures as the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy, and adds new disclosure requirements for Level 3 measurements. This ASU is effective for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted for any eliminated or modified disclosures. We adopted the new standard on January 1, 2020, and it did not have a material impact on our disclosures.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Recently issued accounting pronouncements not yet adopted</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In December 2019, the FASB issued ASU No. 2019-12, &#8220;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#8221;, which removes certain exceptions to the general principles in Topic 740 and also clarifies and amends existing guidance to improve consistent application. This ASU is effective for fiscal years beginning after December 15, 2020, and interim periods within those fiscal years. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective, or prospective basis. We are currently evaluating the potential effects of adopting the provisions of ASU No. 2019-12.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;line-height:1pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:FairValueDisclosuresTextBlock" id="Tb_UB31NzQN3kO11Xw05FUwAQ" continuedAt="Tb_UB31NzQN3kO11Xw05FUwAQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;4&#8212;Fair Value Measurements</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">ASC Topic 820, &#8220;<i style="font-style:italic;">Fair Value Measurements and Disclosures</i><span style="white-space:pre-wrap;">&#8221;, defines fair value, establishes a framework for measuring fair value in GAAP and requires certain disclosures about fair value measurements.  ASC Topic 820 addresses fair value GAAP for financial assets and financial liabilities that are re-measured and reported at fair value at each reporting period and for non-financial assets and liabilities that are re-measured and reported at fair value on a non-recurring basis.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In general, fair values determined by Level&#160;1 inputs use quoted prices (unadjusted) in active markets for identical assets or liabilities. Fair values determined by Level&#160;2 inputs use data points that are observable such as quoted prices, interest rates and yield curves. Fair values determined by Level&#160;3 inputs are &#8220;unobservable data points&#8221; for the asset or liability and include situations where there is little, if any, market activity for the asset or liability.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">10</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_9925c79d_aeb7_44f2_8f6b_4b9b980ed56c"></a><a id="Tc_IQeX6ZzGG0iJMDr2abGlIw_1_2"></a><a id="Tc_YpvkcIdtCESIMauXRVaFIg_2_5"></a><a id="Tc_7gUpg-5DaEOfZzHE6UmBcw_3_2"></a><a id="Tc_q2qXTXhGREOsSnKMCN-xsg_3_5"></a><a id="Tc_X0IWJVLlhEyEN2ncEpGfag_3_8"></a><a id="Tc_-qqtUZyaaE-3ek43-nj12g_4_2"></a><a id="Tc_4iiRUN51Q0GLThKuMKp8lQ_4_5"></a><a id="Tc_hcJO9HMaAkeGsgSaQv1zHA_4_8"></a><a id="Tc_T2txO9l8LUqprqWkxLlNDw_5_2"></a><a id="Tc_d1bX2jbkPkWlJm4WVWlUqg_5_5"></a><a id="Tc_vrDC9TqOPEy3S1kXv-rJUg_5_8"></a><a id="Tc_Ya5XntoRqkCML8A-pDxbpg_6_2"></a><a id="Tc_WQuU27j-eUefzvCdhLk6PA_6_5"></a><a id="Tc_4u0cVMQoU0y-jWW6F1AGfw_6_8"></a><a id="Tc_jz_H2hLqd02yCrKwvdGhtw_7_0"></a><a id="Tc_3ctIcZKTg0yy_H0n1A2Kxw_8_0"></a><a id="Tc_vpDVWrOsVkCzgbfq1enDfA_8_2"></a><a id="Tc_T4Cjg5ya40q6XufZRxrVjw_8_5"></a><a id="Tc_RpwRBvN9-kaC4vfinJxnxg_8_6"></a><a id="Tc_ww78jFo_dUCM8VEiCggYMQ_8_8"></a><a id="Tc_g3G__S4QXUC0wZYeqykgRg_8_9"></a><a id="Tc_EbD5hs8pbE60sA0k1pMZyQ_9_0"></a><a id="Tc_Qs6atwbdG06Mm8Cvzae1sw_9_3"></a><a id="Tc_Zf9Ia6polECeK8Pd9IPF-w_9_6"></a><a id="Tc_9nOM1SRzkEuuNojwjHqdAQ_10_0"></a><a id="Tc_PkfJnC2b3kuKIxFVLrGS-Q_11_0"></a><a id="Tc_XQVwNf3X_0qr-_BuOvCqxA_11_2"></a><a id="Tc_iR1SPNfbt0Cpj7hAJ_2ARQ_11_3"></a><a id="Tc__mMDkFjyv0q8XFRkSbcjlg_11_5"></a><a id="Tc_M8UEjJJehEy944CRR-3GEw_11_8"></a><a id="Tc_pmNlr1n65UCjWKMoBcKsHg_11_9"></a><a id="Tc_ScuXQZJco0G9VU2Xexga9g_14_0"></a><a id="Tc_ehaVxLc2h02EigZj9LOffw_15_0"></a><a id="Tc_s_fJGkjwM0WuBsn-wUoviQ_15_2"></a><a id="Tc_z2IQc7gtU0qMsCXU9o0LJg_15_5"></a><a id="Tc_jTjAiRE6iEyTRlHTal7qVg_15_6"></a><a id="Tc_uQ94v05jGkitd0-reTbwUw_15_8"></a><a id="Tc_Do65mUxPtkqXrU3ovyPL4w_15_9"></a><a id="Tc_FVwywCvpsUu5JN7QhWApxw_16_0"></a><a id="Tc_v9Dd5gqwZUWit92sdozHPQ_16_3"></a><a id="Tc_TNy6u5uhuE2j4OxW1KZ73Q_16_6"></a><a id="Tc_vMybruiJaEW6gdNSIjW0IQ_17_0"></a><a id="Tc_wF2GBcAsbEum7HjAn38K7g_18_0"></a><a id="Tc_v3eTXyeFxEWx6wo9lUbgkQ_18_2"></a><a id="Tc_rDvxyJDR4kKqDX4p6Ii2Zw_18_3"></a><a id="Tc_In99TNycikOiikdr9s4UZQ_18_5"></a><a id="Tc_i1S4wpF1DkO0wTTVMpfE0Q_18_8"></a><a id="Tc_izxVv6J7nkCzjjIdnzpPvg_18_9"></a><ix:continuation id="Tb_UB31NzQN3kO11Xw05FUwAQ_cont1"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" id="Tb_3qU97cNJhEiGG35RmM3pIw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value at March 31, 2020 and December 31, 2019 (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;Measurements&#160;at&#160;Reporting&#160;Date</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted&#160;Prices</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in&#160;Active&#160;Markets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">for&#160;Identical&#160;Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level&#160;1)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level&#160;2)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level&#160;3)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of March&#160;31,&#160;2020:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_CvVpUbN0jk6Hwm-GieLxJQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="Tc_Kca7gtTEzkKyCBM5y1lqsA_8_3">93,474</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_VIGlX6p8bk26o834sfte7A" decimals="-3" format="ixt:numdotdecimal" name="prim:ContingentConsiderationAssetFairValue" scale="3" id="Tc_QzrGztNGQEyNKp6XsK3G3g_9_9">938</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities as of March&#160;31,&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">2020:  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_BgoO_I6JNUW1XP_qMmXFbA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiability" scale="3" id="Tc_RtduprDdbE2Wbze7qGM56Q_11_6">11,414</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of December&#160;31,&#160;2019:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_-JgYSOmkQ06Xj6Bdb3oDpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="Tc_u0UKTloPZkWJCJW3m88hiQ_15_3">120,286</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_xQNxXyLx2kmjO-TWd5IiCA" decimals="-3" format="ixt:numdotdecimal" name="prim:ContingentConsiderationAssetFairValue" scale="3" id="Tc_V49ragTwokqAL7afu0DMlQ_16_9">938</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities as of December&#160;31,&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">2019:  </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_pZ1qhlw6P0K1vR3_OD0YKQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiability" scale="3" id="Tc_pb67rDGiUUKLqC4VCfi0aQ_18_6">6,443</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Other financial instruments not listed in the table consist of accounts receivable, accounts payable and certain accrued liabilities.  These financial instruments generally approximate fair value based on their short-term nature.  The carrying value of our long-term debt approximates fair value based on comparison with current prevailing market rates for loans of similar risks and maturities.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In the second quarter of 2019, we sold certain assets that included an earnout of $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_6_30_2019_Ucg1JqPm5U6Reis0w7KmXA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationContingentConsiderationAsset" scale="6" id="Narr_as-K1WaEn0agSVKz8B8-Vg">2.0</ix:nonFraction> million, contingent upon the buyer meeting a certain performance target.  The estimated fair value of the contingent consideration on the sale date was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_6_30_2019_Ucg1JqPm5U6Reis0w7KmXA" decimals="-5" format="ixt:numdotdecimal" name="prim:ContingentConsiderationAssetFairValue" scale="6" id="Narr_Mu26eqo5HEisup44ilAY-w">0.9</ix:nonFraction> million. We measured the fair value of the contingent consideration using the income approach, which discounts the future cash payments expected upon meeting the performance target to present value.  The fair value of the contingent consideration was impacted by two unobservable inputs, management&#8217;s estimate of the probability of meeting the performance target and the estimated discount rate (a rate that approximates our cost of capital). Significant changes in either of those inputs in isolation would result in a different fair value measurement.  During the first quarter of 2020, there was <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" scale="3" id="Narr_KpEPShpsaEmxMcFlOEJIhQ">no</ix:nonFraction> change to the fair value of the contingent consideration.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The interest rate swap is measured at fair value using the income approach, which discounts the future net cash settlements expected under the derivative contracts to a present value. These valuations primarily utilize indirectly observable inputs, including contractual terms, interest rates and yield curves observable at commonly quoted intervals. See Note 9 &#8211; &#8220;<i style="font-style:italic;">Derivative Instruments</i>&#8221; for additional information.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> <span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="Tb_LreUDN9-80qX4FmzpTq-1Q" continuedAt="Tb_LreUDN9-80qX4FmzpTq-1Q_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;5&#8212;Revenue</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generate revenue under a range of contracting types, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts. A substantial portion of our revenue is derived from contracts that are fixed-price or unit-price and is recognized over time as work is completed because of the continuous transfer of control to the customer (typically using an input measure such as costs incurred to date relative to total estimated costs at completion to measure progress). For time and material and cost reimbursable plus fee contracts, revenue is recognized primarily on an input basis, based on contract costs incurred as defined within the respective contracts. Costs to obtain contracts are generally not significant and are expensed in the period incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We evaluate whether two or more contracts should be combined and accounted for as one single performance obligation and whether a single contract should be accounted for as more than one performance obligation. ASC 606 defines a performance obligation as a contractual promise to transfer a distinct good or service to a customer. A contract&#8217;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Our evaluation requires significant judgment and the decision to combine a group of contracts or separate a contract into multiple performance obligations could change the amount of revenue and profit </p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">11</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_LreUDN9-80qX4FmzpTq-1Q_cont1" continuedAt="Tb_LreUDN9-80qX4FmzpTq-1Q_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">recorded in a given period. The majority of our contracts have a single performance obligation, as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contract and, therefore, is not distinct. However, occasionally we have contracts with multiple performance obligations. For contracts with multiple performance obligations, we allocate the contract&#8217;s transaction price to each performance obligation using the observable standalone selling price, if available, or alternatively our best estimate of the standalone selling price of each distinct performance obligation in the contract. The primary method used to estimate standalone selling price is the expected cost plus a margin approach for each performance obligation.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As of March 31, 2020, we had $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-7" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="9" id="Narr_6FDvIai1aUujS6466FwF6A">2.08</ix:nonFraction> billion of remaining performance obligations. We expect to recognize approximately <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2020-04-01_2mO-ABZ510y6zhBoKkKQ0g" decimals="2" format="ixt:numdotdecimal" name="prim:RevenueRemainingPerformanceObligationExpectedTimingPercentage" scale="-2" id="Narr_fbn9qCOtm0uC5p8_xT3C3w">58</ix:nonFraction>% of our remaining performance obligations as revenue during the next <span style="-sec-ix-hidden:Hidden_fnOPOmlGxkC0CJEcbfBzDg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">four</span></span> quarters and substantially all of the remaining balance by the first quarter of 2022.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Accounting for long-term contracts involves the use of various techniques to estimate total transaction price and costs. For long-term contracts, transaction price, estimated cost at completion and total costs incurred to date are used to calculate revenue earned. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular contract.  Total estimated costs, and thus contract revenue and income, can be impacted by changes in productivity, scheduling, the unit cost of labor, subcontracts, materials and equipment. Additionally, external factors such as weather, client needs, client delays in providing permits and approvals, labor availability, governmental regulation, politics and any prevailing impacts from the pandemic caused by the coronavirus may affect the progress of a project&#8217;s completion, and thus the timing of revenue recognition. To the extent that original cost estimates are modified, estimated costs to complete increase, delivery schedules are delayed, or progress under a contract is otherwise impeded, cash flow, revenue recognition and profitability from a particular contract may be adversely affected. </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The nature of our contracts gives rise to several types of variable consideration, including contract modifications (change orders and claims), liquidated damages, volume discounts, performance bonuses, incentive fees, and other terms that can either increase or decrease the transaction price. We estimate variable consideration as the most likely amount to which we expect to be entitled. We include estimated amounts in the transaction price to the extent we believe we have an enforceable right, and it is probable that a significant reversal of cumulative revenue recognized will not occur. Our estimates of variable consideration and the determination of whether to include estimated amounts in the transaction price are based largely on an assessment of our anticipated performance and all information (historical, current and forecasted) that is reasonably available to us at this time. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract modifications result from changes in contract specifications or requirements. We consider unapproved change orders to be contract modifications for which customers have not agreed to both scope and price. We consider claims to be contract modifications for which we seek, or will seek, to collect from customers, or others, for customer-caused changes in contract specifications or design, or other customer-related causes of unanticipated additional contract costs on which there is no agreement with customers. Claims can also be caused by non-customer-caused changes, such as rain or other weather delays. Costs associated with contract modifications are included in the estimated costs to complete the contracts and are treated as project costs when incurred. In most instances, contract modifications are for goods or services that are not distinct, and, therefore, are accounted for as part of the existing contract. The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue on a cumulative catch-up basis. In some cases, settlement of contract modifications may not occur until after completion of work under the contract.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As a significant change in one or more of these estimates could affect the profitability of our contracts, we review and update our contract-related estimates regularly. We recognize adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the cumulative impact of the profit adjustment is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate. In the three months ended March 31, 2020, revenue recognized from performance obligations satisfied in previous periods was $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod" scale="6" id="Narr_MUslKSokcEuR3mFiBEtA5g">3.6</ix:nonFraction> million. If at any time the estimate of contract profitability indicates an anticipated loss on a contract, the projected loss is recognized in full, including any previously recognized profit, in the period it is identified and recognized as an &#8220;accrued loss provision&#8221; which is included in &#8220;Contract liabilities&#8221; on the Condensed Consolidated Balance Sheets. For contract revenue recognized over time, the accrued loss provision is adjusted so that the gross profit for the contract remains zero in future periods. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">At March 31, 2020, we had approximately $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-5" format="ixt:numdotdecimal" name="prim:ContractWithCustomerLiabilityModificationOfContract" scale="6" id="Narr_sD2giYEyVUKt3DehNVhCXw">94.4</ix:nonFraction> million of unapproved contract modifications included in the aggregate transaction prices. These contract modifications were in the process of being negotiated in the normal course of </p></ix:continuation></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">12</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_ee1d0b2a_d392_4859_a6ac_1c578ca2c3d2"></a><a id="Tc_hZKEtfRmQUqiZASG6mMeyQ_1_2"></a><a id="Tc_K0Bh0-OtCEqTsNZnscFVwA_1_5"></a><a id="Tc_3xvO_6AdBU-Xil2c-cdJcQ_2_2"></a><a id="Tc_7cA2YBNOHUOBu1U-ucLE2w_2_5"></a><a id="Tc_Czkz8W6k_Uiu8Ns68FOMPQ_3_0"></a><a id="Tc_hqwRRkOW3kGNydbAy_QY4A_3_2"></a><a id="Tc_sh9I_5oOJUWofLshxsT9mQ_3_5"></a><a id="Tc_mtDwv3tlPU6SbzQa-9MmWA_4_0"></a><a id="Tc_AwcsXv2EVESXa8-MxE5Ybg_5_0"></a><a id="Tc_QeIQyHsrdkCu0w64JZoNlw_6_2"></a><a id="Tc_XXQUArf0Ykuf_9yd0KRx7g_6_5"></a><a id="_6cf151bd_f0c7_46fa_a8ef_8ec87993c452"></a><a id="Tc__70jQh_jsEaqHHBoWh-FUw_1_2"></a><a id="Tc_jIUmEBaAW0CQGTVwRQ7QUA_1_5"></a><a id="Tc_h3OCP0TzvEGZarjN330iDg_2_2"></a><a id="Tc_Hmd37bNu7U2o0S2UsuB7jw_2_5"></a><a id="Tc_3kGMn8FOwkq0KRy6rM1hYw_3_0"></a><a id="Tc_Y6HoLmDc3EuoAgioiGbKbw_3_2"></a><a id="Tc_zxeyGRPfcEm1enCosEiv1A_3_5"></a><a id="Tc_xF0ImS7Su0GkLUio6XIcGQ_4_0"></a><a id="Tc_Odyv8tctr0CMIo97TRJ_tA_5_2"></a><a id="Tc_2Wzo0GBJAEWT5MDQ_DLomw_5_5"></a><ix:continuation id="Tb_LreUDN9-80qX4FmzpTq-1Q_cont2" continuedAt="Tb_LreUDN9-80qX4FmzpTq-1Q_cont3"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">business. Approximately $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract" scale="6" id="Narr_sfWS39XNikWu62teIie_3g">80.6</ix:nonFraction> million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through March 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">In all forms of contracts, we estimate the collectability of contract amounts at the same time that we estimate project costs.  If we anticipate that there may be issues associated with the collectability of the full amount calculated as the transaction price, we may reduce the amount recognized as revenue to reflect the uncertainty associated with realization of the eventual cash collection. For example, when a cost reimbursable project exceeds the client&#8217;s expected budget amount, the client frequently requests an adjustment to the final amount. Similarly, some utility clients reserve the right to audit costs for significant periods after performance of the work.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The timing of when we bill our customers is generally dependent upon agreed-upon contractual terms, milestone billings based on the completion of certain phases of the work, or when services are provided. Sometimes, billing occurs subsequent to revenue recognition, resulting in unbilled revenue, which is a contract asset. Also, we sometimes receive advances or deposits from our customers before revenue is recognized, resulting in deferred revenue, which is a contract liability. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The caption &#8220;Contract assets&#8221; in the Condensed Consolidated Balance Sheets represents the following:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">unbilled revenue, which arise when revenue has been recorded but the amount will not be billed until a later date;</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">retainage amounts for the portion of the contract price earned by us for work performed, but held for payment by the customer as a form of security until we reach certain construction milestones; and</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">contract materials for certain job specific materials not yet installed, which are valued using the specific identification method relating the cost incurred to a specific project. </span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="prim:ContractWithCustomerAssetTableTextBlock" id="Tb_sMeE3IZXbEeJdZB__ph9-Q" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets consist of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unbilled revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_458PiA-XP0e1ihHsZJHR1w_3_3">268,282</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_QQZ6P2TrJEC4ixCUrV7eTA_3_6">251,429</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Retention receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractReceivableRetainage" scale="3" id="Tc_OaVnkJ1Q9kKT-aWgF2M6Gw_4_3">78,216</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractReceivableRetainage" scale="3" id="Tc_sZYPqmTY_Uy-3eoBPaBwZg_4_6">81,393</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract materials (not yet installed)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryForLongTermContractsOrPrograms" scale="3" id="Tc_9hcj7JtwJEeryQOAhfdmyw_5_3">12,872</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryForLongTermContractsOrPrograms" scale="3" id="Tc_JaGrVCo-h0yjHlE_DLuHDA_5_6">11,984</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_WKiHeuukrk6HqlTA1waAeg_6_3">359,370</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_6QuKKvTVmk2GLwAzB8uUzQ_6_6">344,806</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets increased by $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-5" format="ixt:numdotdecimal" name="prim:IncreaseDecreaseInContractWithCustomerAssetNetCurrent" sign="-" scale="6" id="Narr_CVoQpFLkCEyZ06Uyj4mDVA">14.6</ix:nonFraction> million compared to December 31, 2019 due primarily to higher unbilled revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The caption &#8220;Contract liabilities&#8221; in the Condensed Consolidated Balance Sheets represents deferred revenue on billings in excess of contract revenue recognized to date, and the accrued loss provision.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="prim:ContractWithCustomerLiabilityTableTextBlock" id="Tb_UtpkJqRJrU-EONWEEvMOwA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities consist of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="prim:ContractWithCustomerLiabilityDeferredRevenueCurrent" scale="3" id="Tc_k8_BR2n2d0iFAG5EkmUF7Q_3_3">171,553</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="prim:ContractWithCustomerLiabilityDeferredRevenueCurrent" scale="3" id="Tc_IvWs8qV8k0CTT7JW3jN4kA_3_6">186,081</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued loss provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="prim:ContractWithCustomerLiabilityAccruedLossProvisionCurrent" scale="3" id="Tc_a5WcuZA-fk2fXMxGdiYPyQ_4_3">5,294</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="prim:ContractWithCustomerLiabilityAccruedLossProvisionCurrent" scale="3" id="Tc_klRxPHH6XEmseuicuRcI1A_4_6">6,316</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_Ll4a-t_vrkesQ36CPO8Rpg_5_3">176,847</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_36P7B5tskUuiZj3s3HQOdw_5_6">192,397</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities decreased by $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-5" format="ixt:numdotdecimal" name="prim:IncreaseDecreaseInContractWithCustomerLiabilityCurrent" sign="-" scale="6" id="Narr_YC7rN4ulBEea08L8TICXmw">15.6</ix:nonFraction> million compared to December 31, 2019 due primarily to lower deferred revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue recognized for the three months ended March 31, 2020, that was included in the contract liability balance at December 31, 2019 was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="Narr_COTt4ZqotU-CpfwCklJQEA">97.9</ix:nonFraction> million.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">13</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_fc71c524_4a9e_4332_a67e_dd02d3800818"></a><a id="Tc_LkEYs2ATnU2wTupSzOOF5Q_1_2"></a><a id="Tc_FA_ugqiCMUSG4quNn03EHg_2_0"></a><a id="Tc_btkyUMBnPEWXSLbP-ZR82w_2_2"></a><a id="Tc_UFwmbE3otk-61nz6LopN2g_2_5"></a><a id="Tc_60tyy2PA2kyAfOecmv7JWQ_2_8"></a><a id="Tc_SX42nKf5QESUOdz24kgwnw_3_0"></a><a id="Tc_5iWP8qWW9U2J18C0gt25GQ_3_2"></a><a id="Tc_62XAECAQbUysSIPTb33xew_4_0"></a><a id="Tc_9CgNHdgyw0WRjsstfVs6dA_5_0"></a><a id="Tc_ueTP6I4XB0C81AhHtbdZJA_6_0"></a><a id="Tc_P2dZ0lnxFUCsSCX6fntJ_w_7_0"></a><a id="Tc_zniH9IuaM0iQRWRc2BexkQ_8_0"></a><a id="Tc_NkrA6H4I2Uu25n_5dmAwiw_8_2"></a><a id="Tc_o9YclTOKY0evvqX_PgqSKA_8_5"></a><a id="Tc_Eq2DFDA8FkWSAaVel3WgpA_8_8"></a><a id="_2756fba4_e23c_4682_9fbe_25d8cae44fc5"></a><a id="Tc_3XaYIbBA6U6oZHGQgBDIRw_1_2"></a><a id="Tc_GWH5MOmwoUiijl7ryF3hSw_2_0"></a><a id="Tc_JUuxx44GCkSRH6K88vffmg_2_2"></a><a id="Tc_yEwsBDJY3ECiyxQcNqcWyA_2_5"></a><a id="Tc_Wc8R8H86DU2zY9OrA8DGEA_2_8"></a><a id="Tc_qYlre5I4RkSCCoOiukQCDw_3_0"></a><a id="Tc_UiHz6UdffUKhiZVIoXl3VA_3_2"></a><a id="Tc_Mk0o2xhuwkaL8Uyo2UYfUw_3_5"></a><a id="Tc_BiD4GBSpkUqwW3bPfB_FEQ_3_8"></a><a id="Tc_aumFMiN-UkiZt0_xzPQ30g_4_0"></a><a id="Tc_zHHtXESOdkm7u-QYpJClsw_5_0"></a><a id="Tc_J6o_IMRsTUG12ASSuaCoiw_6_0"></a><a id="Tc_4wFFH0kccki-wF2NtgldTg_7_0"></a><a id="Tc_tkZhKcVJLkS-TwCd7P-J1Q_8_0"></a><a id="Tc_lHpMGMCZKEOOLMzLLJyz1A_8_2"></a><a id="Tc_WxEdP_JlV0Sdx7WkttUjpQ_8_5"></a><a id="Tc_p-_Hb5xbiEqK5zwP3ZG0JA_8_8"></a><a id="_a01ee566_9deb_41c6_b8ab_6d8a6ca94764"></a><a id="Tc_qeMbW8fCVU6oin5IfVeTZw_1_2"></a><a id="Tc_7gkh8zGd0k-r0HTaghbIiQ_2_0"></a><a id="Tc_dBaV1SKW90S69u8DXzHv8A_2_2"></a><a id="Tc_EEq0Glozj0i0skmkTknYsw_2_5"></a><a id="Tc_0GOfIE8fV0KB9zIJ_5PQQA_2_8"></a><a id="Tc_bL175vY93Uqpu2I0Ov5uOg_2_11"></a><a id="Tc_SDNeiCw7r02k-S0nJ2ZESw_3_0"></a><a id="Tc_OiIbZwBaiUq-NBdCBrOVtg_3_2"></a><a id="Tc_BEKmabiwsU2lCPyiQtxoXw_4_0"></a><a id="Tc_0IV8pz-nX0yh1JzSDKh8-A_5_0"></a><a id="Tc_6NrEOcUiC0q3Ynh4o2qRYQ_6_0"></a><a id="Tc_EJw7sXJwcku-tzzPwu0D2w_7_0"></a><a id="Tc_BN0YOcKgY0qG5EcqEE8IwA_8_0"></a><a id="Tc_fGImymgP8kmi75EsVeJCkg_8_2"></a><a id="Tc_xIvE0EJ5d0ODZlpgQNN4ag_8_5"></a><a id="Tc_9yvCMRuDdUucpqIx9orhYA_8_8"></a><a id="Tc_XqafrzkRMUSsQ-bABbEP3g_8_11"></a><a id="_2a2041ce_706e_4580_a321_d19f0d6506fa"></a><a id="Tc__pITua3FoEqT1pgsjwxkdg_1_2"></a><a id="Tc_ghCzJ58xfUGrtoPuQFsIaA_2_0"></a><a id="Tc_g6uWDBEgMEaxzGbecsER_w_2_2"></a><a id="Tc_APujjqWwDEKrjlqnf8oTLw_2_5"></a><a id="Tc_j3KEl1tUukinuqtc9O-SPQ_2_8"></a><a id="Tc_CQAtqYo3nkev9eG11B-RiA_2_11"></a><a id="Tc_2stB_BLP_0qHOsuEh6Bwbw_3_0"></a><a id="Tc_0Vcm9FXw0EiCyxhCUea2Yw_3_2"></a><a id="Tc_M9-ibo2OIkSmOjaUpXaFXQ_3_5"></a><a id="Tc_ax054xCrxkWaiTpxJVGTqw_3_8"></a><a id="Tc_TqB_8MpQTEOKa0WM3KCUiA_3_11"></a><a id="Tc_QhQMDnbANUC5zo26qMpRfw_4_0"></a><a id="Tc_B0sl72Q19U2mcgvo9uGIlQ_5_0"></a><a id="Tc_Wc4-ayTruEy7ywt4c_-IuQ_6_0"></a><a id="Tc_VySdZcyrnEqsS_Op2FGBqQ_7_0"></a><a id="Tc_IXXFCsBo50yYriuwriZpZw_8_0"></a><a id="Tc_LzKDD13XhkmC3buMtDei8A_8_2"></a><a id="Tc_59ZHho_JAEmycIP0M8F_bw_8_5"></a><a id="Tc_NGOr2ETNq0igxja2yFa4eg_8_8"></a><a id="Tc_1pt3xhvO7kakID6CXC_L2Q_8_11"></a><ix:continuation id="Tb_LreUDN9-80qX4FmzpTq-1Q_cont3"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following tables present our revenue disaggregated into various categories.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Tb_oAQscpAcCEKiYEUqqM6CHQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Master Service Agreements (&#8220;MSA&#8221;) and Non-MSA revenue was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:47.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_oFZCPIcx8kOapBR-jiBd2Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_PqZ4_EnmcUeHO17jH4OPEg_3_3">37,095</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_MvTx-EBn5kaLBCR-E_K6bQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_wvu2I0M6O0i4pcc6a0fCow_3_6">159,098</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_6S6qi54p-k6-mnDPDytizA_3_9">196,193</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_wU3iyFTnKEWAjcECet9-Fw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_PJ3ivXj8X0iIjupG2KPPzw_4_3">46,732</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ByT2cVN--Eir2PlM7pwCNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Gwa297U6Jkm-jL7GMVjeCQ_4_6">144,791</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_6o_ie-26WE2o5azsbl0TSQ_4_9">191,523</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_eIkKn7nOcEedJA7VjsNSKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_J3MFtACSTEClhik88hRV4A_5_3">104,011</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_RbxR4yzRmkmXhep3vHlfAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_v4J1erUYdUyUz6V6DgZW4g_5_6">43,159</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_VRC4237jcEWrgo8imkgoKg_5_9">147,170</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_8GrSMUy1bkqpOUjjwvIW6w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_CgnUGg0dzk-TkRcrcTseGQ_6_3">81,774</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_DEXeldcFHkmO61_pLytQPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_zJhXfdqOW0WsKCwCOAqGzg_6_6">21,010</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_H-WHSZuMO0eAilhicT_6bQ_6_9">102,784</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_dhWzdtFiu0ylcXdtNPHv1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_x6juiFgvv0qL1TLCveJSBA_7_3">796</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ojcu7VqickuIKwmzrKNfbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_EYz12hP8iEyviBYprhlSRw_7_6">104,777</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_fG1SCKaoP0eI9THJYAbYvg_7_9">105,573</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_unR9ANzWFUC3IdUy1d6CwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_pf3gtW3Omkyn4E7NK2kT0Q_8_3">270,408</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_SENgaCYNCEeANXDOay_Y-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Lbc-gcC640GtODNyU3Rd6A_8_6">472,835</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_RHI0g7RsskeoQJCrIBtkzw_8_9">743,243</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:47.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_Ic8Euc0fykaxHR4OC5Uayg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_-2Djm4XN-kyTaHb2Iw-IiQ_3_3">49,195</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_tqM14KbR_ECU3jjXGOSyww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_4HW61kcsCUOnc7ae2DgizQ_3_6">96,188</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_3Z9vExypEku8n-e65Aa7yw_3_9">145,383</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_1GU4yyV04kSyAm_2o1wJ3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_X719qxgY7keZeswLSEg1rg_4_3">21,849</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_C37MQgbQj02h9d3ERvzvLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_HlOhMVSEakKSfsnZWenRDw_4_6">112,965</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Y8iWpvU-OUmXyL94W54HLQ_4_9">134,814</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_M6KO2vhI_U6UX7CLLleL5w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_B-kz3-r90keqlHQbdF4Now_5_3">119,462</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember__hz4QAH-LkuA5z06RwbRWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_LKjcjZcTs06-zh_TkEAm2g_5_6">26,744</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_VmbsqnKgzUC_zbraDY_9Bw_5_9">146,206</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_OYPcN47R70KP_xP5VMHAWQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_tBvGinYPf06jlNlR_8L_UA_6_3">101,723</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_3eLcR0pISEa5G8f4kPaEqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_dHCKeSClV0qluFHIUAXbiw_6_6">16,720</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_VyB4yAqQqUyAY-SP34iA7g_6_9">118,443</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_f5W4FyIy7ki_AljdCTAbzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_jgRN0KevHUqiN5atmXUJEg_7_3">650</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_x0-QbSv-BEiAIZfaeiZcjA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_XzQgvF023UivYjfnzFOyVg_7_6">116,062</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_cU6Ft5XEK0S6yoAnhU4u2A_7_9">116,712</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_JCmV75Lj7UynO2HEVhNAHg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_0pbypVJvnkqKgfjQ06VFDw_8_3">292,879</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_1FI4Z8DdZUalaJ9STNRmFw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_vOjrulieA0yDK137lS494g_8_6">368,679</ix:nonFraction></p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_2K2roaSls0-jP1nO2HGQrw_8_9">661,558</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by contract type was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_2pdqWWvRPUuWv5CBjT6zNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_XgpESQG85Uatiyw7q4Zx9A_3_3">144,850</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_R-QeJ-NuJ02zI4VJMufJOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_R3KZqKjLeEaSrjVTn4l1Mw_3_6">181</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_DlV9FyifVUaZfRV9rZfVmg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_OMH8BQm3uUSHobnhcbuFbQ_3_9">51,162</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_cxdZmlZgjECZxMlXrcS0tg_3_12">196,193</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_vcIjirThkU2jS627cwZ8SQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_oafOkWwgrEycHQHoCRQ4zw_4_3">15,345</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_e1_JU22DG0y7fA3MdjrFVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Lz47poCAAku3QrnahdEaeA_4_6">81,830</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ujIQPKSyME2STmcKwYrSHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_BTETpoaqJku7hf1mbuSa_g_4_9">94,348</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_kSoiYf4ifEaw5yPWrfxCeg_4_12">191,523</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_ULdsI2rzwkqYa1P-OiBMAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_zwGUS-LxSEG1upldAn4S5Q_5_3">24,089</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_yZJyyipZJ0uiSZw2r_I8EQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_x5VglZXgVUaDTbngHO3bWw_5_6">80,639</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_OLuor70oWkOOR8mSGPVOJg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_hvfcSocmEEejJzXrec3cRw_5_9">42,442</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_TP5pSJ7Rik2ztT6YHwYplA_5_12">147,170</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_ICiF_MM2IU6AQRzn-HXucg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_n7fB9dG5JkatxgdCpZJ5UQ_6_3">13,636</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_ipQo5PacJEaNojKlqEgM_w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_-yugfItyZ0G5nJpUNa6XEg_6_6">88,789</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_yqaSwHCIM0-v5_o_obdgMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_JF52E_nnEECoJcC0a_CyTw_6_9">359</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_RVrDqMgll0ODk-bDxplpMQ_6_12">102,784</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_l5sC4lS1GEaQOcM6YQIHcQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ZTHnc-5nxUetJYCbNXWFCw_7_3">19,859</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_9MpD3Jw7z0-JvR97ax2lZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_bGwgqkrh10WDEEeR10fDsQ_7_6">75,447</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_lN-JqCcwwUiecqdF5S2v3w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_NxwMy_09TkierwlOR1i_Xg_7_9">10,267</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_lkEglwrp1Ey9Qr1PDWYgbA_7_12">105,573</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_paif7KgojEOhpclTKpKcNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_wjy4BAzikEOc1OQjfzMs1Q_8_3">217,779</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_bn_826A-iEiuP44L8SjF7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ObNLC8Ks0k-zf2qov-0ZSw_8_6">326,886</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_vBzJkr8EQkedVVCAiz-rQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_aVPmP2cD6UawiwmcPVJVWA_8_9">198,578</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_He_61xD6Bkexh7uxj7z9IA_8_12">743,243</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_iJWx8qlgLEWHbpmUJKfU6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_wWTPGeI60k2M60XOuuK3ZQ_3_3">75,143</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_N8m0YMptGkmogEKeY2ME-g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_DODhLARumUmvpAzcKfXL3g_3_6">6,613</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_VR0PqCOtPUmMWn0kkhWhPQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_1Zh0yykotkuqeYK6LyCFnQ_3_9">63,627</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_i9076VQQ7kCeGRX261-cGA_3_12">145,383</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_iJurGRJYq0GGjNA9nXrdMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_K334d4Pmf0OTnGWPcHWf0Q_4_3">17,227</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_OnQLsr5iUEeT8Vx7jKYDGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_yHp0moy0AUKR8fU6Z_e0mA_4_6">374</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ukgEnopK2kC-nf2aiASopg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_0TV0MgOpBEiiYEMpSZHzsg_4_9">117,213</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_zFKOAQ7WvUm3XDebNfV44Q_4_12">134,814</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_-ct_pGiMeE20gjdimSwYiQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_8NovsE4u30aHAwjWpuC4kQ_5_3">22,767</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Q8POx_H8XkKxR1Zwy3gn-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_byoCiqTCK0eSL4iOfQt2wg_5_6">67,878</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Lv18uSsUw0CQm1WAeUeUqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_LhwewGzmYEWSqnm-hnDx8Q_5_9">55,561</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Y7YUC4peKk-7SY7II5CjFw_5_12">146,206</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_BqgkymYNmU28rqtjylACgQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_JqdZn1aLxkugKjxPNx2KBw_6_3">8,463</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_kiukZSYdcUGnMEvGhHAvfg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_hCwynla-xEODeDqpQq2onw_6_6">105,841</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_XvDiEMv21EulY3q56zexJw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_xe2H8-amN0mBAcYTGcMydQ_6_9">4,139</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_GHWYsOEWSk-uZEivO9NP7Q_6_12">118,443</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_-MrlejeovkW46I_j0cgUFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_toD1WPhXZUmX89SEkxwzBA_7_3">22,685</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_an2oLxY8PkudCrp5HAmYfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_RG81UeEmUUGSQNYp9lBWtA_7_6">78,494</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_gXm08UiE_kiwqLvgSo3RtQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_lyKF_CuVZEaVAtHhCytiXA_7_9">15,533</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_OXWLh6KYnUyqm5VBVr0GjA_7_12">116,712</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_Pa6jraMpyUqQZil-4dkCWw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_peh8ZQG6MUaD8_7kl8DZ9A_8_3">146,285</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_ymgSC9ogQU6nUFOjMB6MLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_PIiVQD2zCUmJdTMJPpQ27Q_8_6">259,200</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember__nR2NkjKq0uku-ipEksxIQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_w1TK7GOr3EqaLC0dM0OZ2Q_8_9">256,073</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_jMZeV5rJzkiUeQ8-gxpt7A_8_12">661,558</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Each of these contract types has a different risk profile. Typically, we assume more risk with fixed-price contracts. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular fixed-price contract. However, these types of contracts offer additional profits when we complete the work for less cost than originally estimated. Unit-price and cost reimbursable contracts generally subject us to lower risk. Accordingly, the associated fees are usually lower than fees earned on fixed-price contracts. Under these contracts, our profit may vary if actual costs vary significantly from the negotiated rates.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">14</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_a77d991e_e534_4e91_bc7e_a31c7ef8f5d1"></a><a id="Tc_IHA9Oqrdjk-lulUw-2TPJg_1_2"></a><a id="Tc_bkc7yN1LpESF-_Mink4kFA_1_5"></a><a id="Tc_3zYP5TlQQk-iUqV6ZMFAiQ_2_0"></a><a id="Tc_zhe82PBCaEy2WsekoTi87g_2_2"></a><a id="Tc_tadkpJovik-hpijpY8-16g_2_5"></a><a id="Tc_scnvNR9gZ0KZtYapQ6CTMA_3_0"></a><a id="Tc_SPiUF_5cdkCfbQXc5ejbbg_3_2"></a><a id="Tc_rEcj3QZpL0O4QT5yBTOPtg_3_5"></a><a id="Tc_pY9tw9G8c0KJVoM3nGjm2w_4_0"></a><a id="Tc_F1rU3NASMUy65YnuoNUVRQ_5_0"></a><a id="Tc_gUVNYVjzB06u3rKHOy5E8A_6_0"></a><a id="Tc_PRrfZojlT0ykXJAfoSrqUw_7_0"></a><a id="Tc_QeqoKY4RxUqYVlDyGi94BQ_8_0"></a><a id="Tc_JwnXLaoOiUmQX0MLlVAE3Q_8_2"></a><a id="Tc_2shgyhO5pUO6NHJPy0Dy1w_8_5"></a><a id="_8bbb51ad_df0f_449f_b176_e3ede98c56ea"></a><a id="Tc_7RXBLKEFIE2sUGUKU9R7Ow_1_4"></a><a id="Tc_WAohst_K00e0xyBBICiYEg_1_13"></a><a id="Tc_PwXfuSEVTE2tb1snCSd80w_2_2"></a><a id="Tc_MZuOGFbt_kuH07c9jjfaZw_2_4"></a><a id="Tc_toZQaTx6y0Sz4xlOjq_Avw_2_7"></a><a id="Tc_3aACvYaLYEypMWXteLmWGA_2_10"></a><a id="Tc_Dur58pqFf0GwGygVIl8bnw_2_13"></a><a id="Tc_db7ACWyCCkeD4qDB8_RpBg_2_16"></a><a id="Tc_Oc1658Fs1kWgZJkcUj7lQw_2_19"></a><a id="Tc_YL0ovSGI4Emlnm4a7cfAsw_3_0"></a><a id="Tc_5gQ2fmn0Qk2f6hnXDGtoQA_3_4"></a><a id="Tc_e20Xwb1bxUWWdRoIYt1jmA_3_13"></a><a id="Tc_okz37WGPIECtSjR0xNCZOQ_3_16"></a><a id="Tc_tFJlkJIoGUK9tvi3RiKAUQ_3_19"></a><a id="Tc_wbaQOo1ha0e-oqbOgYkFeA_4_0"></a><a id="Tc_qYCv03w7m0SMG4Pxmi2Vkw_5_0"></a><a id="Tc_zT76Wwq1YU6DM708Le4BAQ_6_0"></a><a id="Tc_InNPYjPkYUWFgaZejTgMgA_7_0"></a><a id="Tc_DYErNFoqn0qDm_ivx1yrgg_7_4"></a><a id="Tc_5Lx2eGH5AEKTMjg07kWRbQ_7_7"></a><a id="Tc_IRl3mPm4G06D6nsH4wOlfw_7_10"></a><a id="Tc_2XG35fSB10KGKU5DYts9tQ_7_13"></a><a id="Tc_VWXeCSMdLUG5gy8LCCvbpQ_7_16"></a><a id="Tc_jDuT8w-81EaZF5Xk2nQj8w_7_19"></a><a id="Tc_afDOYVG5l0uqerw0WUok0A_1_2"></a><a id="Tc_KMr66cralUahBSCf_G9-7g_2_2"></a><a id="Tc_Qy9fd4uNsk22OUSEDvCTiw_3_2"></a><a id="Tc_GO5DKVvCukSn8gOTEtxezg_4_0"></a><a id="Tc_mL05JIe4mEWfJ63H5uT84A_4_2"></a><a id="Tc_pFGkLz3U9kW-WF6KQ7XQdQ_5_0"></a><a id="Tc_2RFTdz7hx0GANk3nsaQDBw_5_2"></a><a id="Tc_r8kM4RWekkydvWSYFX3GUQ_6_0"></a><a id="Tc_uXt3f8XZJ0eVBwXYMBChNA_7_0"></a><a id="Tc_iTET1rVff0O3BkeQQqy8Jw_8_0"></a><a id="Tc_LDjjQN0V_EWreKcFYAcjSA_9_0"></a><a id="Tc_Vex2Twmb9U-FFNKcq_ML2A_10_0"></a><a id="Tc_6V52vwXtt0GqBMAHaU28Yw_11_2"></a><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="Tb_WSzyADadT06L8oxoW4LnyA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;6&#8212;Goodwill and Intangible Assets</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:ScheduleOfGoodwillTextBlock" id="Tb_wGpwJI7oUkeuL3DJxUWlsw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-indent:36pt;margin:0pt;">The carrying amount of goodwill by reportable segment is as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Reporting&#160;Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_6Zo1ynN0Z0aqV3iAOI5rTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_rJCV5TXKJkmjQgW0Uv1PRw_3_3">26,194</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_3CeTgvUuOUS_r4xK5B9hnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_aFyyKdGDE0CVhxVXGTsowA_3_6">26,194</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_owzvZDCTsEa5RJCfxGMx3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_verVpAKtx0KQITVT_zNXvg_4_3">52,415</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_d9-e6TN1i0C2HYul6aqSmg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_y3uYyzetUEWjH9lkv7VAjA_4_6">52,415</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Cb5tD9GbTkS-IBunlpvZWw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_jWMQssaG20KxqLdNOeSD3A_5_3">37,312</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_rXMjldPM4UeULgZNWgXnBw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_EKGJlRT_rUepTwnHyQS5Ig_5_6">37,312</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_9t3Sn2wMn0yjWIW5tFyzMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_4o0xU2LZ80W5Lzty0uVGKQ_6_3">59,032</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_Yj1-e8uV60SQ_9JwwhGGXg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_nSHAZ3BU30KicHbr0iV19Q_6_6">59,032</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_kRfhtDXXJ02KjpiMC9t3lQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_CGfrM6LlNEeuQUWtM2KgWg_7_3">40,150</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_jkFcNaEyVEmCiZ74-R2hkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_ueqPpND93EmL3n4BjTovXg_7_6">40,150</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_t74q2HInLUCjg8PViWvhLw_8_3">215,103</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2019_BjsJTruINU-LOSyHj80fxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_zdKtbo8qHESdtoTecym0hQ_8_6">215,103</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_3vuGbLDdfUKb3R7IA3ys1Q" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The table below summarizes the intangible asset categories, amounts and the average amortization periods, which are on a straight-line basis (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:8.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted<br />Average&#160;Life</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:10.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Carrying<br />Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated<br />Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:10.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Carrying<br />Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated<br />Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Tradename </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_D5Sg2S9fjUSDw-DiepiajA" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_dGxb23JVVEiZrUyPpKnpXg_3_2">9 years</ix:nonNumeric></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_NuwB4hdNlkSqk6XEVPnNhQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_Tag3-L1Za0W-iUT0y1B2bg_3_5">16,040</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_NuwB4hdNlkSqk6XEVPnNhQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_071XQ_jGKE2s58IzNR1fRQ_3_8">13,714</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_NuwB4hdNlkSqk6XEVPnNhQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_igcPhPIzUUClVX3Ozae-WA_3_11">2,326</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wQy0Wlk2D0axVbVPmstarg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_0uRbE3FDh0W-DzwcnARY3g_3_14">16,040</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wQy0Wlk2D0axVbVPmstarg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_TSdtMdgwx06EbA1huGagZw_3_17">13,216</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wQy0Wlk2D0axVbVPmstarg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_oAbN_GcQL0S8Af_1Zqaonw_3_20">2,824</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Customer relationships </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_WDlZ3IPpoUSqGO_IncDAxw" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_icOSplNymUWLzSVEFEGQPQ_4_2">17 years</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_dJpNn0qbNUSzymDO8xs0XA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_qSVw_1EagkuWA7Du9csGiw_4_5">91,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_dJpNn0qbNUSzymDO8xs0XA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_IRalFdGEMUWsVNqD1ZhdNw_4_8">26,128</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_dJpNn0qbNUSzymDO8xs0XA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_NSpdd7EMyUyZ6cT27_XaPw_4_11">64,872</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_wtp8iSn3uE2UmRc8lxx-Jw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_ZAIibiMPPUeMn7ZBgMmXOg_4_14">91,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_wtp8iSn3uE2UmRc8lxx-Jw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_y3S3QigwDEW86pp_5jZlUg_4_17">24,353</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_wtp8iSn3uE2UmRc8lxx-Jw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_eE8Au6xK9EOnxCgcQRWELg_4_20">66,647</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Non-compete agreements </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_8cDD9d-icUanXPWtwZshOA" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_IODAIlweuk2fYK_ZFkevug_5_2">5 years</ix:nonNumeric></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_nsGXVHvDhEyB2-grVYSIvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_pXa8P_DEmEWSFzgosiS_qw_5_5">1,900</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_nsGXVHvDhEyB2-grVYSIvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_9rB-yd5dQEC5wmbeWoarkg_5_8">1,653</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_nsGXVHvDhEyB2-grVYSIvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_R3OPSKghqUizI6rdO8MLsw_5_11">247</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_b9jHBJEOJUi9cvn-dLUszw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_aefCNEtGIES3TfDq7lCH9Q_5_14">1,900</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_b9jHBJEOJUi9cvn-dLUszw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_G8A5jShkJ0Suwt_Cn6tqyA_5_17">1,580</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_b9jHBJEOJUi9cvn-dLUszw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_1PVoVPKanUiNR3DNVbe6nA_5_20">320</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_mPq_lpGFRU-T51iPjUM1AQ" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_IXPUgVv1dE-eLy2XXPwMSA_6_2">3 years</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_wAWDHjpjC0C8REjAb8jj1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_E3jLuSwBPk-z5Cu1N9SwqQ_6_5">275</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_wAWDHjpjC0C8REjAb8jj1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_wfYFhFQ5pEaf3LFlysTOaQ_6_8">260</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_wAWDHjpjC0C8REjAb8jj1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_2cLP2d4AQUe5Cd47qUVpDA_6_11">15</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_orbSU9xILUKAktQcjgqoaw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_cDtmmQaoWUutSpMt5QGR8w_6_14">275</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_orbSU9xILUKAktQcjgqoaw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_XwqS6CtPEEa0Og_NK82p-Q_6_17">237</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_orbSU9xILUKAktQcjgqoaw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_91wrSUkhfUylW1-tNMq3Qw_6_20">38</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_Pf_9Jpp8qEOjL28qIxtZwQ_7_2">16 years</ix:nonNumeric></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_8aluaAmxGUCHpgNO9YttYA_7_5">109,215</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_YCBUXqklo02dBHCUlEhS3A_7_8">41,755</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_kEoVzawsPE-K4umVVIcC1A_7_11">67,460</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_A8ipsDf72EGjkI-coDWazQ_7_14">109,215</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_hDFqigNCe0ufhdqXsEAJzA_7_17">39,386</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_Dk3g6xT39kyK5o9zIIzDvw_7_20">69,829</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Amortization expense of intangible assets was $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_qh4hB1tuuE2V11cH7vS3NQ">2.4</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_0rhFxebt0EmQunAXZaBcHw">2.7</ix:nonFraction> million for the three months ended March 31, 2020 and 2019, respectively. <ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="Group_o0v9ZqouX0CpossdI0ExeQ" continuedAt="Group_o0v9ZqouX0CpossdI0ExeQ_2" escape="true">Estimated future amortization expense for intangible assets is as follows (in thousands):</ix:nonNumeric></p><ix:continuation id="Group_o0v9ZqouX0CpossdI0ExeQ_2"><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:66.89%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ending December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expense</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020 (remaining nine months)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" scale="3" id="Tc_arl9yGFJ7EetJqgEE06spA_5_3">6,448</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="3" id="Tc_kCXDdx7yk0GeS0hPsbcSew_6_3">7,577</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="3" id="Tc_iHhd5zusdECUtcQwENqz6w_7_3">6,416</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="3" id="Tc_X-E7xOlGN0mQlsPSIF4OTg_8_3">5,581</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="3" id="Tc_cYvz8eo-TUaoNaZE8e18ng_9_3">4,862</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" scale="3" id="Tc_WjGp6J24EEmQf5tA49iYZg_10_3">36,576</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_ss5dRgzMIkWHqP1SQiL30Q_11_3">67,460</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_45561576_54bb_466a_8191_8eef08a92720"></a><a id="Tc_aeHmVfsRhU-Np3tiEERJXA_1_2"></a><a id="Tc_fykgx3rK4UqMw1R4SbMX6A_1_5"></a><a id="Tc_6rFY6kvs3U69p_HZw4lAqQ_2_2"></a><a id="Tc_rwMz-RKS5kCUrYa_h5E2mw_2_5"></a><a id="Tc_RpCuyNzhcUegN8koT_F8HA_3_0"></a><a id="Tc_WviACvXe4UKNK3JPhFpR6A_3_2"></a><a id="Tc_20qNb75PQU-JuaIPU6sfTw_3_5"></a><a id="Tc_3-XY35oYjE-p2ksUnpIQ5Q_4_0"></a><a id="Tc_EQeg7xklXEG0I6xSDIZuuQ_5_0"></a><a id="Tc_E56LA3HsSEe2VY35I6BrjA_6_0"></a><a id="Tc_HzyPNCLMjESdbfKGyHDIIA_7_0"></a><a id="Tc_u41zb_nT10iYwxJPIN4jhw_8_2"></a><a id="Tc_s25d-Ol1g0ego7r_GHBNPg_8_5"></a><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" id="Tb_bxUzdBBpZkCA-xC9WZrtWw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 7&#8212;Accounts Payable and Accrued Liabilities</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">At March 31, 2020 and December 31, 2019, accounts payable included retention amounts of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-5" format="ixt:numdotdecimal" name="prim:ContractWithCustomerAccountsPayableDueToSubcontractors" scale="6" id="Narr_HtMFcIgcbUG-u27p0a-GJw">10.9</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-5" format="ixt:numdotdecimal" name="prim:ContractWithCustomerAccountsPayableDueToSubcontractors" scale="6" id="Narr_wZnNtgExEUKZHIKWZ31zyA">11.3</ix:nonFraction> million, respectively. &#160;These amounts owed to subcontractors have been retained pending contract completion and customer acceptance of jobs.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="Tb_3QHNywjgdkmuPEjRTA4fqg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of accrued liabilities (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.24%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Payroll and related employee benefits </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_E-enzmekC0COJQKCIL5Ftg_3_3">74,008</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_w3SAwMfKDUOqMIe6t33aaQ_3_6">64,705</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current operating lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_sBDVbJzDUkG_UzIOVXCMhQ_4_3">79,532</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_G0GLtCJP6UqY69efT0MBjg_4_6">74,036</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Casualty insurance reserves</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedInsuranceCurrent" scale="3" id="Tc_5L-GD9pFME6EhBaBEg3UYg_5_3">9,902</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedInsuranceCurrent" scale="3" id="Tc_QaICMdSO5kmpiyuiztTHSg_5_6">9,918</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Corporate income taxes and other taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TaxesPayableCurrent" scale="3" id="Tc_66c2s8xcBUmTtnfqYFPeLw_6_3">6,822</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TaxesPayableCurrent" scale="3" id="Tc_oWxv-vmx-0Cohj13yjaE8w_6_6">9,027</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="Tc_NUO8nCsFhkuuCNkywamJ-A_7_3">22,384</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="Tc_dvNoEiY_tUaCZRYyUCqjrA_7_6">25,815</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_EG5bx-YRukC5t2ai8EVcLg_8_3">192,648</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_LB8naFbdM0isBgCT_oIVog_8_6">183,501</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">15</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_a5c4eac4_e849_46a0_a3e3_9ce6037a691f"></a><a id="Tc_QdBUjkHHA0KrU15bpUmqSA_1_2"></a><a id="Tc_g1mXxmKtHECJkBkQ5RENkQ_1_5"></a><a id="Tc_rU-qpDq8H06L-yD6LqN2GQ_2_2"></a><a id="Tc_YwfkhzzKlUyw5OS57WLDYw_2_5"></a><a id="Tc_Z0o6ZtIYbkexADkHnroSgQ_3_0"></a><a id="Tc_RkShMQ0F8U-PlJo-GjCFGw_3_2"></a><a id="Tc_UYxE6mbgCEegyrxjyDog8A_3_5"></a><a id="Tc_UVT8VKsBnUyVqV-bfIr_Lg_4_0"></a><a id="Tc_E-ev91CVykW2VxqdTlY6AA_4_3"></a><a id="Tc_mHh5VSu-d0-PNzHTI1VmUQ_4_6"></a><a id="Tc_pP3ibLXnTUyT9rexrSrj0A_5_0"></a><a id="Tc_KsBPSUKWLEuU6AbyfEWPBw_6_0"></a><a id="Tc_kjBHuyfw-0GjwGZDVFoEsg_7_0"></a><a id="Tc_bbwB41zhOEWxganUGNC92A_8_0"></a><a id="Tc_e_54XglWzEaNypMxgWEfaQ_9_0"></a><a id="Tc_MQsW8C57bEWfmDky0gz-EA_9_2"></a><a id="Tc_jEvETtsKw0upLFqIITlBUQ_9_5"></a><a id="Tc_29NeYG6yNEK5AEBB12PGsw_10_0"></a><a id="Tc_RP4SNmpDNUWv5l7E4GielA_11_0"></a><a id="Tc_R1poAirTf0Kv97733SAmYQ_11_2"></a><a id="Tc_X7CnaEtZ-06HvPOkFRZ_0w_11_5"></a><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:DebtDisclosureTextBlock" id="Tb_nhiP3WQNLUiO_eHOgJ7UXQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 8&#8212;Credit Arrangements</b></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock" id="Tb_OEJTutv-jEGx3IGWDf0KJQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Long-term debt and credit facilities consists of the following (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri';font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Term loan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_LoansPayableMember_k__8EhZdik2RGzu4TTO4yg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_4MP96U4fKUGlVJNNyClP7g_3_3">200,750</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_LoansPayableMember_3DGZkPgcZEqlg0IGFeGF-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_ZpJELL9Hv0Klkwl56ePfmg_3_6">203,500</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Commercial equipment notes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_yFl_QqErhk-y5gsOGTfYZw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_yvw8rNLBxUCFrQ1HHQZBYQ_5_3">93,309</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_gUFxKrdTS063kFcz5QxKrA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_5GENsr33oES7br5wM5VLUA_5_6">105,114</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Mortgage notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_MortgagesMember_HclSayWEYkGjH2wXNwgXmA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_T7zZ57_sIEmsxmZGy-00PQ_6_3">49,854</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_MortgagesMember_2zMOQz-kmUWIRHKdZMHsXg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_GAlN2YpL5ki_kNYc3It2QQ_6_6">43,474</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total debt</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_Z6Zm1nX78UqXxtWpau86sw_7_3">343,913</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentCarryingAmount" scale="3" id="Tc_jT3SIbk_P0WOMp5KZmuDUg_7_6">352,088</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnamortizedDebtIssuanceExpense" scale="3" id="Tc_NVzj5TRMrEe5-Aq_gAFb_Q_8_3">734</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnamortizedDebtIssuanceExpense" scale="3" id="Tc_sziVDlL_GUmayNH3CO1Z3A_8_6">787</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total debt, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_phH7rxFMB0OLMF4Sh_p0RA_9_3">343,179</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_4TECwAWyckKU30DB-Ry2SA_9_6">351,301</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: current portion </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_TxmN2flFCk--E2acw6SDrQ_10_3">52,430</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_c4Oc-ccPLkC2tJCgCL5wNA_10_6">55,659</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Long-term debt, net of current portion </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="3" id="Tc_CuhHNI0YtEefAsGNIyXkTw_11_3">290,749</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtNoncurrent" scale="3" id="Tc_fkLfBMfITEKcEMw0aKRYAA_11_6">295,642</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The weighted average interest rate on total debt outstanding at March 31, 2020 and December 31, 2019 was <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DebtWeightedAverageInterestRate" scale="-2" id="Narr__Je92r47bEGla_72NzsgSg">3.9</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DebtWeightedAverageInterestRate" scale="-2" id="Narr_zfg7S1tENUmlcNpOhqXYrQ">4.0</ix:nonFraction>%, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Credit Agreement</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:39pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our amended and restated credit agreement (&#8220;Credit Agreement&#8221;) consists of a $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_us-gaap_LoansPayableMember_Ar0eOKE_-UiDbSX7KQ9qvg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_9nHAA-sDJ0mUNq4oBIZKIg">220.0</ix:nonFraction> million term loan and a $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_GHhjXH-41UOUr6EzZBY52A" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_cUauRXmLF02UgIFAkeAsQA">200.0</ix:nonFraction> million revolving credit facility (&#8220;Revolving Credit Facility&#8221;), whereby the lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_LetterOfCreditMember_ft2O3l7eVky5GAGfMEF4ew" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_drtKOphlZUWkZE1ssLkRbg">200.0</ix:nonFraction> million committed amount. The Credit Agreement also includes the ability to increase the borrowing capacity thereunder by $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_73ST82cJA0enfJ-E-48Byw" decimals="-5" format="ixt:numdotdecimal" name="prim:PotentialIncreasePerAccordionFeature" scale="6" id="Narr_bHd7q00o_UmOC56e5zC8aA">75.0</ix:nonFraction> million, subject to obtaining additional or increased lender commitments. The maturity date of the Credit Agreement is July 9, 2023. At March 31, 2020, there were <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_GHhjXH-41UOUr6EzZBY52A" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:LineOfCredit" scale="3" id="Narr_C-Df9JOfDUOHifiu4LjcSg">no</ix:nonFraction> outstanding borrowings under the Revolving Credit Facility, commercial letters of credit outstanding were $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_LetterOfCreditMember_ft2O3l7eVky5GAGfMEF4ew" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LettersOfCreditOutstandingAmount" scale="6" id="Narr_0bq_9F71YUSvwIhtM3wPUQ">39.5</ix:nonFraction> million, and available borrowing capacity was $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_-KhC87ZDp0ywYKA-ahqYqA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" id="Narr_4V1IctuTQkyy9ugFcHEOTQ">160.5</ix:nonFraction> million.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Credit Agreement contains various restrictive and financial covenants including, among others, a senior debt/EBITDA ratio and debt service coverage requirements. In addition, the Credit Agreement includes restrictions on investments, change of control provisions and provisions in the event we dispose of more than <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_uvG86duz2Ui1trUyMyy4kQ" decimals="2" format="ixt:numdotdecimal" name="prim:DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff" scale="-2" id="Narr_KRiYcV5MjUaOxv9YP91x2w">20</ix:nonFraction>% of our total assets. We were in compliance with the covenants for the Credit Agreement at March 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Canadian Credit Facilities</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have a demand credit facility for $<ix:nonFraction unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithCanadianBankMember_dJ1hOabej06ZRvxVqPF53g" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_jDiLvFBjpka-3WOE0Sgz8w">4.0</ix:nonFraction> million in Canadian dollars with a Canadian bank for purposes of issuing commercial letters of credit in Canada.&#160;At March 31, 2020, commercial letters of credit outstanding were $<ix:nonFraction unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithCanadianBankMember_us-gaap_LongtermDebtTypeAxis_us-gaap_LetterOfCreditMember_t1YwmsYFZUCbfBN5Mhbu3w" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LettersOfCreditOutstandingAmount" scale="6" id="Narr_f1i3VwDDP0mFhCV79WBoXw">0.6</ix:nonFraction> million in Canadian dollars, and the available borrowing capacity was $<ix:nonFraction unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithCanadianBankMember_dJ1hOabej06ZRvxVqPF53g" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" id="Narr_LKH6zKCn0ECWEDttsjn3zg">3.4</ix:nonFraction> million in Canadian dollars.&#160;The credit facility contains a working capital restrictive covenant for OnQuest Canada, ULC, our wholly owned subsidiary.&#160;At March 31, 2020, OnQuest Canada, ULC was in compliance with the covenant.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have a credit facility for $<ix:nonFraction unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CanadianCreditFacilityCibcMember_nbNC3SYoMk-8JWav39d9bQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_BKppVjA10E--V_diVWIixQ">10.0</ix:nonFraction> million in Canadian dollars with CIBC Bank for working capital purposes in the normal course of business (&#8220;Working Capital Credit Facility&#8221;). At March 31, 2020, there were <ix:nonFraction unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CanadianCreditFacilityCibcMember_nbNC3SYoMk-8JWav39d9bQ" decimals="-5" format="ixt-sec:numwordsen" name="us-gaap:LineOfCredit" scale="6" id="Narr__cwVK6cgMUO_Qqlo9-Frpg">no</ix:nonFraction> outstanding borrowings under the Working Capital Credit Facility, and available borrowing capacity was $<ix:nonFraction unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw" contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CanadianCreditFacilityCibcMember_nbNC3SYoMk-8JWav39d9bQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" id="Narr_FaQh8FAxTEi_mhv8KXBkEQ">10.0</ix:nonFraction> million in Canadian dollars. The Working Capital Credit Facility contains a cross default restrictive covenant where a default under our Credit Agreement will represent a default in the Working Capital Credit Facility.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_contentSection_28dcaf9d_5fb9_4c50_8506_"></a><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" id="Tb_pgAFLy8on020HpRhMF4Dwg" continuedAt="Tb_pgAFLy8on020HpRhMF4Dwg_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 9 &#8212; Derivative Instruments</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="white-space:pre-wrap;">We are exposed to certain market risks related to changes in interest rates.  To monitor and manage these market risks, we have established risk management policies and procedures. We do not enter into derivative instruments for any purpose other than hedging interest rate risk. <ix:nonFraction unitRef="Unit_Standard_instrument_fROoiuuhrEmEXQzvnuS3gg" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="INF" format="ixt-sec:numwordsen" name="prim:NumberOfInstrumentsUsedForTrading" scale="0" id="Narr_ZUlAW9MygUSwUDIVLchd1Q">None</ix:nonFraction> of our derivative instruments are used for trading purposes.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="font-style:italic;font-weight:bold;">Interest Rate Risk. </span>We are exposed to variable interest rate risk as a result of variable-rate borrowings under our Credit Agreement. To manage fluctuations in cash flows resulting from changes in interest rates on a portion of our </p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">16</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_24600541_8fcd_460f_a7b8_016f041a64dc"></a><a id="Tc_D3-RzcxN4kW0S6q6HHjChA_1_4"></a><a id="Tc_pw_T8senikOD9coq0oO6qw_1_7"></a><a id="Tc_C3S9TOV32EGKILvasRfP1A_2_2"></a><a id="Tc_my5_heZphka8TatfP1a68A_2_4"></a><a id="Tc_MfpouudjI0yn6S-9vTzHbw_2_7"></a><a id="Tc_iJy0x8zfC06MjPpVYHvjTg_3_0"></a><a id="Tc_t6X41nZlUka8LPN1lpzNbA_3_2"></a><a id="Tc_lJWXclNWOUuc6Zp6t4SgdQ_4_0"></a><a id="Tc_20k2FxgGEkWVNuyjRvhhhw_4_4"></a><a id="Tc_uPjSTkyDBkyfK0loWlbDJQ_4_7"></a><a id="_728c6f56_66b6_4a2a_8f90_7eeda844de3a"></a><a id="Tc_TZfnETqDSEW6_Mkl5qIgvQ_1_4"></a><a id="Tc_n5IBKmXJwUOz6lHYjy_4Cg_2_2"></a><a id="Tc_vWEvkqz2j0KKbRx8Oemd8g_2_4"></a><a id="Tc_OWX1L1DUd0SXJAhTpzQKxA_3_2"></a><a id="Tc_aAdjvrJ0q0Gww4az_BxAXw_3_4"></a><a id="Tc_itgS4-RsOUqnWWo9ao-heQ_3_7"></a><a id="Tc_yLR6wqtqKESyWdwTqFay2A_4_0"></a><a id="Tc_YwTzQlKxUEew8RK5oCobvQ_4_2"></a><a id="Tc_-iEihwBcW0iFOZtLVpA2GQ_4_4"></a><a id="Tc_qKUMRF4ui0qp0DAY3TEMwg_4_7"></a><ix:continuation id="Tb_pgAFLy8on020HpRhMF4Dwg_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">variable-rate debt, we entered into an interest rate swap agreement on September 13, 2018 with an initial notional amount of $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_9_13_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_LchjH1Nc4keB3qctkoeUng" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilityNotionalAmount" scale="6" id="Narr_K8QikmlvjEWFyAuEDmHLvw">165.0</ix:nonFraction> million, or <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_9_13_2018_To_9_13_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_LG5GZO68mEui2ZAc45tw4Q" decimals="2" format="ixt:numdotdecimal" name="prim:InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" scale="-2" id="Narr_FLcXZ93IWUi-4vnD73aY_g">75</ix:nonFraction>% of the debt outstanding under our Term Loan, which was not designated as a hedge for accounting purposes. The notional amount of the swap will be adjusted down each quarter by <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_9_13_2018_To_9_13_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_LG5GZO68mEui2ZAc45tw4Q" decimals="2" format="ixt:numdotdecimal" name="prim:AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan" scale="-2" id="Narr_RkmaUSYPpUOv4T4KQwoQTw">75</ix:nonFraction>% of the required principal payments made on the Term Loan. The swap effectively changes the variable-rate cash flow exposure on the debt obligations to fixed rates. The fair value of outstanding interest rate swap derivatives can vary significantly from period to period depending on the total notional amount of swap derivatives outstanding and fluctuations in market interest rates compared to the interest rates fixed by the swaps. As of March 31, 2020, and December 31, 2019, our outstanding interest rate swap agreement contained a notional amount of $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_SqVRk02uLESTNwaAOJgzjw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilityNotionalAmount" scale="6" id="Narr_tqr8C7MM1U-nZxkm9VU1Zw">150.6</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_leUB2D8opEii367Dkq4CVQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilityNotionalAmount" scale="6" id="Narr_1giI5bQqPEmCfzDboNczVQ">152.6</ix:nonFraction> million, respectively, with a maturity date of July 10, 2023.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="font-style:italic;font-weight:bold;">Credit Risk. </span>By using derivative instruments to economically hedge exposures to changes in interest rates, we are exposed to counterparty credit risk. Credit risk is the failure of a counterparty to perform under the terms of a derivative contract. When the fair value of a derivative contract is positive, the counterparty owes us, which creates credit risk for us. When the fair value of a derivative contract is negative, we owe the counterparty and, therefore, we do not possess credit risk. We minimize the credit risk in derivative instruments by entering into transactions with high quality counterparties. We have entered into netting agreements, including International Swap Dealers Association (&#8220;ISDA&#8221;) Agreements, which allow for netting of contract receivables and payables in the event of default by either party.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" id="Tb_UXj5gK9e-0qZqY7oWP8oPw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other long-term liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_BppTxWydRESUWmwbx6-okg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilities" scale="3" id="Tc_hl78Nmsja0yEzvaXiHrh2Q_3_5">11,414</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_B7dPJJLw6ESVSX0eDu0CYw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilities" scale="3" id="Tc_IkMvRuJggkWimRIahTxLsg_3_8">6,443</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilities" scale="3" id="Tc_68aWGjtyME-lCThU0Xf6cQ_4_5">11,414</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilities" scale="3" id="Tc_bSApxW40gk2HhXRgQlpQUA_4_8">6,443</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Operations (in thousands):</p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" id="Tb_I90nNu2UlUi4n9FGBkIuNQ" escape="true"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:101.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:27.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location&#160;of Loss&#160;Recognized</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">on&#160;Derivatives</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Interest expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_IncomeStatementLocationAxis_us-gaap_InterestExpenseMember_VjjYSUoBnEiD-MuTPtpSqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLossOnDerivative" scale="3" id="Tc_S3jZwNVu2EGYQ8pe-7Yhaw_4_5">5,435</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_IncomeStatementLocationAxis_us-gaap_InterestExpenseMember_v3pZhrkNk0iwZBEfABDO5g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLossOnDerivative" scale="3" id="Tc_OORL8cgp3kWpJZQI4PLOUA_4_8">1,596</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>Cash flows from derivatives settled are reported as cash flows from operating activities.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_2f308e18_3fbe_4879_9dc6_014254e49dfc"></a><a id="Tc_M4UC5TWWs0Gtb9xb1XnrzA_1_2"></a><a id="Tc_Ekuk1bels0-YU_K4bf1AfQ_2_2"></a><a id="Tc_EIY_z4mHI0GF3v_H2umWeg_2_5"></a><a id="Tc_9xtFdXKq6EOJrsD26_HPhw_3_0"></a><a id="Tc_ZJs6GNzTu0CGcGKUYLFZ3A_3_2"></a><a id="Tc_DO6cyrh3Ek-UT_oF6H2Q7A_3_3"></a><a id="Tc_0Ns2jMZz4UC3QBCZ9Q7aAw_3_5"></a><a id="Tc_zroJvPcN6kK1vJUjsI03aw_4_0"></a><a id="_35494906_2ddb_4ae2_8d4d_df20d48f6f8d"></a><a id="_35494906_2ddb_4ae2_8d4d_df20d48f6f8d_2"></a><a id="_35494906_2ddb_4ae2_8d4d_df20d48f6f8d_3"></a><a id="_32eeefdb_342f_4e30_842d_b376f2659350"></a><a id="_32eeefdb_342f_4e30_842d_b376f2659350_2"></a><a id="_32eeefdb_342f_4e30_842d_b376f2659350_3"></a><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:MinorityInterestDisclosureTextBlock" id="Tb_IDSbDH_3fkaoK6rbkYIISA" continuedAt="Tb_IDSbDH_3fkaoK6rbkYIISA_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 10 &#8212; Noncontrolling Interests</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We own a <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="As_Of_3_31_2020_srt_OwnershipAxis_prim_CarlsbadConstructorsJointVentureMember_ShSeZLNsy06lRSucjW6V4A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_d3u2ZHxVdUqePjbw3trOWg">50</ix:nonFraction>% interest in the Carlsbad joint venture which operates in the Power segment. The joint venture has been determined to be a VIE and we were determined to be the primary beneficiary as a result of our significant influence over the joint venture operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">The joint venture is a partnership, and consequently, only the tax effect of our share of the income was recognized by us.  The net assets of the joint venture are restricted for use by the specific project and are not available for our general operations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="prim:ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock" id="Tb_4XBB5cBGf0Wn0bpkn2yG-w" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Carlsbad joint venture&#8217;s operating activities began in 2015 and are included in our Condensed Consolidated Statements of Operations as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri';font-size:14pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_bqTuAbO75U6XaXM3v6yhDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_D_odrMIM4keFStQdk5pCzA_3_6">4,024</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to noncontrolling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_PfHnWyiRG0Stv8gRMOqnEA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_so0tPy2z2kColepoCqKfLA_4_3">3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_bqTuAbO75U6XaXM3v6yhDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_f31-EeE6mUiCAa3kfB4yWA_4_6">989</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Carlsbad joint venture made no distributions to the partners and we made no capital contributions to the Carlsbad joint venture during the three months ended March 31, 2020 and 2019. The project was substantially complete as of December 31, 2018 and the warranty period expires in December 2020.</p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">17</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_8924db9d_b000_44c2_8074_7e05494174cc"></a><a id="Tc_UumdASqQ-ku1OdciDLM_Ng_1_2"></a><a id="Tc_-bleNVo_SUaEqqKpCJ3n5g_1_5"></a><a id="Tc_q66GrRXFC0SDknQPgDBkeQ_2_0"></a><a id="Tc_z-JL7hlmhUO93kLaQfj1pg_2_2"></a><a id="Tc_eBm5iVA_aUyxwQYiAB4a9w_2_5"></a><a id="Tc_3FC7_GJ1CUSs31T6FPga0w_3_0"></a><a id="Tc_NKucw6hQmUu_lZUVYJut0w_3_2"></a><a id="Tc_ihg9z09S8k-xUrnLQWgpGw_3_5"></a><a id="Tc_ZIuCTvB4dkWnWhYuIxi02Q_4_0"></a><a id="Tc_EOkIvgEIM0Cc9y9KPbZCdQ_4_3"></a><a id="Tc_ic9Ngj2GaUmJVzHALISB2w_5_0"></a><a id="Tc_FshkHIl-fE6vF-zd8WMHPg_5_3"></a><a id="Tc_3lAlv1p2vEa00EKFqa00bw_6_0"></a><a id="Tc_6YavniXiV0-JCCo6tfHn5w_6_6"></a><a id="Tc_h_srJm6LM0iDVvwGPX-Pvw_7_0"></a><a id="Tc_wKmc0GdZPUmzzpKN_XmJhQ_7_3"></a><a id="Tc_J2jXBuPb70W9OIglXly-QA_8_0"></a><a id="Tc_0GjRUULREEKlBFG2PB92CA_10_0"></a><a id="Tc_JhvmJALWZEiL-r73Im8TGQ_11_0"></a><a id="Tc_2HLbDpeve06VR8rYfSDFew_11_2"></a><a id="Tc_pcEVPGC43k6ATmhmRBtgIw_11_5"></a><a id="Tc_E-Vg7VybvUGudmFZlxdKpw_12_0"></a><a id="Tc_aTxDEGNLYEOMjpfbtROMzA_12_3"></a><a id="Tc_x30yIEwMzkeWOOqmOAMMVA_13_0"></a><a id="Tc_Kc_37d1F_EacMHQy-LV6KA_13_3"></a><a id="Tc_XnfHHQ2qkkGBbc2GZL67qw_14_0"></a><a id="Tc_VtMjfQylfUC-OxVlcGdlPw_15_0"></a><ix:continuation id="Tb_IDSbDH_3fkaoK6rbkYIISA_cont1"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="prim:ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock" id="Tb_4Ss33b1x4EOtYkglLnutaA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the total balance sheet amounts for the Carlsbad joint venture, which is included in our Condensed Consolidated Balance Sheets, and the total consolidated balance sheet amounts (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.89%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Joint&#160;Venture</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Consolidated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">At March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_KyDFCWDszUCxpfLxiesDjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="3" id="Tc_WnNQNYpVSEG5rk4RUcD2nQ_3_3">2,026</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="3" id="Tc_yVoELzkyfEaL5BxPLB93LQ_3_6">93,474</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReceivablesNetCurrent" scale="3" id="Tc_K5pChtWNU0OrtlNCgFRkjg_4_6">416,412</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_bhFNgg9b2Eym-ipTa0UIZg_5_6">359,370</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Due from Primoris</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_KyDFCWDszUCxpfLxiesDjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromAffiliateNoncurrent" scale="3" id="Tc_pj2yPN1HmUKGbIIS2GhMmg_6_3">476</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_79C-LGWA-kG-SI49IO6Qaw_7_6">258,962</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_KyDFCWDszUCxpfLxiesDjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_46ybzSnWCk6r8sv7FtfW0w_8_3">434</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_BqlJdmwIskaNg7y6rxlFGA_8_6">176,847</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">At December&#160;31,&#160;2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_24_rIbP0Y02z5KcoyUosnA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="3" id="Tc_jDS8012C4E-JdzUS0CrTtA_11_3">2,124</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="3" id="Tc_4Tj3ZKARD0O4GKbTpsSYKQ_11_6">120,286</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReceivablesNetCurrent" scale="3" id="Tc_rNMIkhvvE0SUgYstK2ZghQ_12_6">404,911</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerAssetNetCurrent" scale="3" id="Tc_nZHt_zl7XkOXdIVqyc17lA_13_6">344,806</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_24_rIbP0Y02z5KcoyUosnA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_L5G--xMV9kWaR-MhUybYyA_14_3">38</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_oxnDvWF-UE23i3pni3Gi0g_14_6">235,972</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_24_rIbP0Y02z5KcoyUosnA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_kVDucnfqA0m6AjOQraOIbw_15_3">425</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_xIbylKo1x0WQI77zsVNi8A_15_6">192,397</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:1pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;"></p><p style="clear:both;font-family:'Times New Roman';font-size:1pt;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation><a id="Tc_4A1SaQXGV0SE7LrZqMP4oQ_1_2"></a><a id="Tc_9x_6KsM_8kWV-ppos44KkA_2_0"></a><a id="Tc_YVnuAWHst0mlGGgeZUVPfg_2_2"></a><a id="Tc_xZ64OWmnJkq9qCdelTJKbA_3_0"></a><a id="Tc_Wcvn7ULRr0iGcdd1qAHSmw_4_0"></a><a id="Tc_GCdNcu_0Q0u4XjpeH_xqyA_5_0"></a><a id="Tc_A1t4ZMeKaEu1k-pzrpSOoQ_6_0"></a><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_bDiRAGtjjkKYT802FcQjlg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 11&#8212;Stock-Based Compensation</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In May 2013, the shareholders approved and we adopted the Primoris Services Corporation 2013 Long-term Incentive Equity Plan (&#8220;Equity Plan&#8221;). Our Board of Directors has granted <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_5_1_2013_To_9_30_2019_srt_TitleOfIndividualAxis_srt_ExecutiveOfficerMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_S1fYm4bIeUmB-U95DnwRrg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_6VGDdCSaCku7A9sz07zuYA">607,361</ix:nonFraction><span style="white-space:pre-wrap;"> Restricted Stock Units (&#8220;Units&#8221;), net of forfeitures, to employees under the Equity Plan.  The grants were documented in RSU Award Agreements, which provide for a vesting schedule and require continuing employment of the employee.  The Units are subject to earlier acceleration, termination, cancellation or forfeiture as provided in the underlying RSU Award Agreement. </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">At March 31, 2020, a total of <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_KJAv3jgTqk-VEzu2ilQd3A" decimals="INF" format="ixt:numdotdecimal" name="prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber" scale="0" id="Narr_vqNLZfr6dUeUwXumwjTNug">260,630</ix:nonFraction> Units were vested. The vesting schedule for the remaining Units are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" id="Tb_XFgSSlwtHUCzhFKH_KkabQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;Units</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For the Years Ending December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">to&#160;Vest</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020 (remaining nine months)</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_DS6JujiBw0agDLUosCOHKw" decimals="INF" format="ixt:numdotdecimal" name="prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" scale="0" id="Tc_yyxa1jhTD0i8LdogF8ttMQ_3_2">23,896</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_H7azBe8NyESGS1nMctlE4Q" decimals="INF" format="ixt:numdotdecimal" name="prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" scale="0" id="Tc_WGq59gIga0-7kHqh9-ZClg_4_2">179,364</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_EqblmuX4pku4GFBgcNKT3Q" decimals="INF" format="ixt:numdotdecimal" name="prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" scale="0" id="Tc_4UhAEi_xXUKmXN0Wv2G2Lg_5_2">84,415</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_prim_ShareBasedCompensationAwardTrancheFourMember_rp5ra39W_UuordibFrRP-g" decimals="INF" format="ixt:numdotdecimal" name="prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" scale="0" id="Tc_MCWzi6Nc5Em4RuWl4x_J2w_6_2">59,056</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_KJAv3jgTqk-VEzu2ilQd3A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_ZxOrelh8zE2TRNNel7DNsQ_7_2">346,731</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Under guidance of ASC Topic 718 &#8220;<i style="font-style:italic;">Compensation &#8212; Stock Compensation</i>&#8221;, stock-based compensation cost is measured at the date of grant, based on the calculated fair value of the stock-based award, and is recognized as expense over the employee&#8217;s requisite service period (generally the vesting period of the award).</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">The fair value of the Units was based on the closing market price of our common stock on the day prior to the date of the grant.  Stock compensation expense for the Units is being amortized using the straight-line method over the service period.  We recognized </span>$<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_ewyB-67FFUCFuzSnh5AJZw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="Narr_tp5oEbGFX0Cqsd7i7ugwjw"><ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member__lVi64r2bEOudVFXhybLnQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" id="Narr_YwM9RmZ1pku1SgaAb_YvTQ">0.5</ix:nonFraction></ix:nonFraction> million in compensation expense for each of the three months ended March 31, 2020 and 2019, respectively. At March 31, 2020, approximately $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_KJAv3jgTqk-VEzu2ilQd3A" decimals="-4" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="6" id="Narr_yj_2gZnQAE2PVxmiSmT0jQ">5.4</ix:nonFraction> million of unrecognized compensation expense remained for the Units, which will be recognized over a weighted average period of <ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member__lVi64r2bEOudVFXhybLnQ" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_i6sz2V_Oa0mOZ2PvSay4Tw">2.4</ix:nonNumeric> years.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Vested Units accrue &#8220;Dividend Equivalent Units&#8221; (as defined in the Equity Plan), which will be accrued as additional Units until the Units are converted to Common Stock.&#160; At March 31, 2020, a total of <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_ZuiPBQ1d2UeoeraZwEQYrw" decimals="INF" format="ixt:numdotdecimal" name="prim:AccruedDividendEquivalentUnits" scale="0" id="Narr_oh-x4NvjFk-DC5ck9m0xGw">2,401</ix:nonFraction> Dividend Equivalent Units were accrued.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_xqBXkpxCcUynxKaaaAtSRA" continuedAt="Tb_xqBXkpxCcUynxKaaaAtSRA_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 12&#8212;Income Taxes</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates, and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur </p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">18</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_xqBXkpxCcUynxKaaaAtSRA_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">which can cause variability in the effective tax rate from quarter to quarter.  We recognize interest and penalties related to uncertain tax positions, if any, as an income tax expense.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We do not include the income tax expense or benefit related to the net earnings or loss attributable to noncontrolling interest in our income tax expense as the entities are considered pass-through entities and, as such, the income tax expense or benefit is attributable to its owners. The effective tax rate on income including noncontrolling interests for the three months ended March 31, 2020 and 2019 was <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Narr_dzVQiHJq80COl6AgOShNdQ">29.0</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Narr_DqfAeKkL90qOEnCqHIB6mQ">21.3</ix:nonFraction>%, respectively. Excluding noncontrolling interest, the effective tax rate on (loss) income attributable to Primoris for the three months ended March 31, 2020 and 2019 was <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="3" format="ixt:numdotdecimal" name="prim:EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest" scale="-2" id="Narr_eC0KfEAfckiEoEuE3UrAhw">29.0</ix:nonFraction>%. For the first three months of 2020 and 2019, our tax rate differs from the U.S. federal statutory rate of <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="Narr_nFlKq8HrM0CngkJBUaKq2Q">21.0</ix:nonFraction>% primarily due to the impact of state income taxes and nondeductible components of per diem expenses. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our U.S. federal income tax returns are generally no longer subject to examination for tax years before 2016. The statutes of limitation of state and foreign jurisdictions generally vary between <ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" format="ixt-sec:duryear" name="prim:IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum" id="Narr_ft7n365sNEmXTgj_KSsWWQ">3</ix:nonNumeric> to <ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" format="ixt-sec:durwordsen" name="prim:IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum" id="Narr_Rzr2yHgpeEK-FpF7i46TzA">5 years</ix:nonNumeric>. Accordingly, our state and foreign income tax returns are generally no longer subject to examination for tax years before 2014.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities based on enacted tax rates expected to be in effect when such amounts are realized or settled. However, deferred tax assets are recognized only to the extent that it is more likely than not that they will be realized based upon consideration of available evidence, including future reversals of existing taxable temporary differences, future projected taxable income, the length of the tax asset carryforward periods, and tax planning strategies. The effects of remeasurement of deferred tax assets and liabilities resulting from changes in tax rates are recognized in income in the period of enactment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (CARES Act) was enacted by the US Government in response to the COVID-19 pandemic. Similarly, the Canada Emergency Wage Subsidy legislation was enacted on April 11, 2020 to provide employment retention incentives to certain Canadian employers. These relief measures did not materially affect the Consolidated Financial Statements for the first quarter of 2020. We are currently assessing the future implications&#160;of these provisions on our Consolidated Financial Statements.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation><a id="_e73e9744_c17e_4761_b9a9_28d84afb12d1"></a><a id="Tc_DVR3jyDEAEGFrl6yDAX9Vw_1_0"></a><a id="Tc_Bv_t0bCLWkqrOAhGYvEx2w_1_2"></a><a id="Tc_4J5PokOmGUiQmf9ydIRqOw_1_4"></a><a id="Tc__LQe5lZwBky_73GZvbY5ng_1_6"></a><a id="Tc_x9yXF6Vt_kySJ0yVhDFbeg_2_0"></a><a id="Tc_AWtD0aMwOk6tzD2ljTJ8LA_2_2"></a><a id="Tc_n1qNJqoJpEGP8TPz_UJW-w_2_4"></a><a id="Tc_vwBgMo8PYUiGdBUKvaJ6Lw_3_0"></a><a id="Tc_8_PA1hMnHUK3pj9b-tuJyQ_3_2"></a><a id="Tc_xGeqssryvkGNbXxSz1NRag_3_4"></a><a id="Tc_Glwt1rWidE60esiCw8b30A_4_0"></a><a id="Tc_tXIt971u5ki1E2tF8ZBCbA_4_2"></a><a id="Tc_tH-6GaZblkCjiMfFJ4PTww_4_4"></a><a id="Tc_P53zt9dlW0KohJRix3aLtw_5_0"></a><a id="Tc_WHCPeRuJ1E6BtJFXs4rCMg_5_2"></a><a id="Tc_OL3FtEEBhUm6mP4bGqMxZw_5_4"></a><a id="Tc_xIs5tv-hvEqfxgJYoBXiiA_6_0"></a><a id="Tc_UPuQUJ_UkEiqJAkzJFWlFQ_6_2"></a><a id="Tc_2qXyI06iUE6QJRckG0DNVg_6_4"></a><a id="Tc_0jOibwiGCkO1aqxwspAYPg_7_0"></a><a id="Tc_FvvyvemBQ02bhsb6cjmc5g_7_2"></a><a id="Tc_qNhVmGB-n0K46XMrUFhnHQ_7_4"></a><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="prim:DividendsAndEarningsPerShareDisclosureTextBlock" id="Tb_bLmuJtf-mk2JIfRRtdL-GQ" continuedAt="Tb_bLmuJtf-mk2JIfRRtdL-GQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 13&#8212;Dividends and Earnings Per Share</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:DividendsDeclaredTableTextBlock" id="Tb_CCtJuCeEtUm7TzwGoSObFQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We paid cash dividends during 2020 and 2019 as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Declaration&#160;Date</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Record&#160;Date</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Paid</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount&#160;Per&#160;Share</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">November 2, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 15, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_11_2_2018_To_11_2_2018_Y2Ao66cOaE2qpnPjm0_tLw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_5bv5h5rARUKsQTMO6UjRiA_2_7">0.060</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">February 26, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">March 29, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">April 15, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_2_26_2019_To_2_26_2019_zmvRl3hXAU-0gNSZF2e5cw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_N2YuBcTcDEKmHJgMqmfK0A_3_7">0.060</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">May 3, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">June 28, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 15, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_5_3_2019_To_5_3_2019_xCsQiYQHL0-2P_eST2BlhA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_036ZaVKP2kaisD5sDh9rsQ_4_7">0.060</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">August 2, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">September 30, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">October 15, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_8_2_2019_To_8_2_2019_cwuQJ0UWLEi1G2XNvWOOQw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_H3t_oub6LkySZdq1BAYGew_5_7">0.060</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">October 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 15, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_10_31_2019_To_10_31_2019_ATqJ5tvWo0qgXOHmiW38bg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_WfkyfiBXu0uvqWaLo5se4A_6_7">0.060</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">February 21, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">March 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">April 15, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_2_22_2020_To_2_22_2020_IrdZDsPh306_JNpuPOmsRw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Tc_B60DBlbXTESNOorGaaSrZA_7_7">0.060</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The payment of future dividends is contingent upon our revenue and earnings, capital requirements and our general financial condition, as well as contractual restrictions and other considerations deemed relevant by the Board of Directors.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">19</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_d3979c05_f900_4413_adf4_955d0fb39202"></a><a id="Tc_0C5RV4ls_k2YRqx5JkiDtg_1_2"></a><a id="Tc_eGGDmcJ3BEiEyNamfIlPEg_2_2"></a><a id="Tc_EQJJpLt3Qk2KFwp011XC6g_2_5"></a><a id="Tc_KYTdNh5BvkiNXMGCLGUOyA_3_0"></a><a id="Tc_UQlU-xFT6EqzJmcq3R2nrg_4_0"></a><a id="Tc_Dxp7VkU90kezQISisAOk4A_4_2"></a><a id="Tc_siHVh_F_DkyWJbhO8Tkc4Q_4_5"></a><a id="Tc_rk2Xsqs2f0Kur7e7jHWu0A_6_0"></a><a id="Tc_C4KOQ40qIkq93-O49p-TPw_7_0"></a><a id="Tc_uEd_8oZ6fkKXC2F52CVeRQ_8_0"></a><a id="Tc_2wxSfkj77E229gAIHjLh-g_8_3"></a><a id="Tc_EVFuKlUOeUSSkkqaa1U1Uw_9_0"></a><a id="Tc_R14kfCqz_US__UW2GJScjw_9_3"></a><a id="Tc_ecisUULAqUaNClqSu_PhDw_10_0"></a><a id="Tc__uCbVzulekWCAN5uHS-E1w_12_0"></a><a id="Tc_of_6_oC_uU2wfzZjribuXg_13_0"></a><a id="Tc_RLQXw43Fqk61KyA4G4IUYA_13_2"></a><a id="Tc_B3a5EybaFEySjaG9oN2Qww_13_5"></a><a id="Tc_MagxV4W_-kiTgLx9Pbl2zw_14_0"></a><a id="Tc_0BdtSrZnnUur-qg8zpZ22Q_14_2"></a><a id="Tc_EWSeynhDx0O11Motwqtp6w_14_5"></a><ix:continuation id="Tb_bLmuJtf-mk2JIfRRtdL-GQ_cont1"><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_DUIjVDbDHEO94jPHeNeDTw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The table below presents the computation of basic and diluted (loss) earnings per share for the three months ended March 31, 2020 and 2019 (in thousands, except per share amounts).</p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:87.76%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net (loss) income attributable to Primoris</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" sign="-" scale="3" id="Tc_Pw5pCxqPnk-nm0rHG3HSJg_4_3">3,737</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="Tc_XGkEnfNt1kCUSAdso6ZIqw_4_6">1,947</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Denominator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average shares for computation of basic earnings per share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_8XorTtWvtEqsIEKC5xpUIg_7_3">48,588</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="Tc_9U4mQBeAQkap7iY75fKybQ_7_6">50,770</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of shares issued to independent directors (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="prim:IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements" scale="3" id="Tc_hsaBzta5PEyvnOvDB_ddRQ_8_6">8</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of restricted stock units (1)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="Tc_lhi30S_eHEyXDAyc9Vvc4g_9_6">410</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average shares for computation of diluted (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc__UaR2UMqQE6vIcGru9P50Q_10_3">48,588</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="Tc_V2nbzIEuHEGDjBfZ3qpmTA_10_6">51,188</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">(Loss) earnings per share attributable to Primoris:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" sign="-" scale="0" id="Tc_wYFMPjVq5kq6F7_ntqa7yQ_13_3">0.08</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_f-YVNRVmDEO48ynHwFOaHg_13_6">0.04</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" sign="-" scale="0" id="Tc_rO83nPv2ukOaOoKflWQCdQ_14_3">0.08</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_msLGrU6ArkS6oKxMvfZMVw_14_6">0.04</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:27pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:22.5pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">The dilutive effect of shares issued to independent directors and restricted stock units of <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_prim_EquityIncentivePlan2013Member_g8CxyEXjHUKugubbz1P8hw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_1h-9YbTJe060q70i6rhXTQ">9</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockUnitsRSUMember_AU5Inj2WxEmd2J-K_mWlIA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Narr_GgXpZNLYDUeNCwYwRdGPKw">300</ix:nonFraction>, respectively, for the three months ended March 31, 2020, were excluded from the weighted average diluted shares outstanding for the three months ended March 31, 2020, as their inclusion would be anti-dilutive.</span></td></tr></table></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 27pt;"><span style="font-size:1pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="Tb_UpOXDLeqs0aQw0UctowkZQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:54.7pt;text-indent:-54.7pt;margin:0pt;"><b style="font-weight:bold;">Note 14&#8212;Stockholders&#8217; Equity</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Common stock</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We issued <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_7Lp77EAuK0WjjfwZFYKgkw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="0" id="Narr_3iujryfU90KO5o1ydnXasw">34,524</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_15D8d6CY1EqlUj_bbrkCYQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="0" id="Narr_x01tzea4F0qewDNdAm1mXQ">114,106</ix:nonFraction> shares of common stock in the three months ended March 31, 2020 and 2019, respectively, under our long-term retention plan (&#8220;LTR Plan&#8221;). The shares were purchased by the participants in the LTR Plan with payment made to us of $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_7Lp77EAuK0WjjfwZFYKgkw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="6" id="Narr__PZW1Btd0EmGLU_KRHaL-w">0.6</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_15D8d6CY1EqlUj_bbrkCYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="6" id="Narr_hvQ2rz6-UkGSeOCuh13qFw">1.8</ix:nonFraction> million in the three months ended March 31, 2020 and 2019, respectively. Our LTR Plan for certain managers and executives allows participants to use a portion of their annual bonus amount to purchase our common stock at a discount from the market price. The shares purchased in the three months ended March 31, 2020 were a portion of bonus amounts earned in 2019, and the number of shares purchased was calculated based on <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_7Lp77EAuK0WjjfwZFYKgkw" decimals="2" format="ixt:numdotdecimal" name="prim:DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants" scale="-2" id="Narr_2ZVF99BGq0urEBQomVtgrQ">75</ix:nonFraction>% of the average daily closing market price of our common stock during December 2019. The shares purchased in the three months ended March 31, 2019 were for bonus amounts earned in 2018, and the number of shares was calculated at <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_15D8d6CY1EqlUj_bbrkCYQ" decimals="2" format="ixt:numdotdecimal" name="prim:DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants" scale="-2" id="Narr_-hod-41kA0-GvRiQKWpuOg">75</ix:nonFraction>% of the average daily closing market price during December 2018.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In the three months ended March 31, 2020 and 2019, we issued <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_s9-nFPIh-0G4FBJPghqPyg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" id="Narr_nTjlVZm7fE2eCurejwiJqw">16,744</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_gsr4UjZmC0igbeSPYHVD9Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" id="Narr_0xtjHmmFZEiHPJWXnghnzA">13,278</ix:nonFraction> shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As discussed in Note 11 &#8212; <i style="font-style:italic;">&#8220;Stock&#8211;Based Compensation&#8221;</i>, as of March 31, 2020, the Board of Directors has granted a total of <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member__lVi64r2bEOudVFXhybLnQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_gIXLxZeneUaEPF517jbkWw">607,361</ix:nonFraction> shares of Units, net of forfeitures under the Equity Plan and a total of <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_KJAv3jgTqk-VEzu2ilQd3A" decimals="INF" format="ixt:numdotdecimal" name="prim:AccruedDividendEquivalentUnits" scale="0" id="Narr_Bl-aGyL0Q0CXIZbDoN5bsw">2,401</ix:nonFraction> Dividend Equivalent Units were accrued at March 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Share Repurchase Plan</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In February 2020, our Board of Directors authorized a $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_2_29_2020_x-shwRMOb0GBO7hyW7nj1g" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="Narr_X0XBuyVsqEiFNCBULaoH7w">25.0</ix:nonFraction> million share repurchase program. Under the share repurchase program, we can, depending on market conditions, share price and other factors, acquire shares of our common stock on the open market or in privately negotiated transactions. In the three months ended March 31, 2020 we purchased and cancelled <ix:nonFraction unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" scale="0" id="Narr_Su3gRO0ZikWZMNoJM03biQ">461,831</ix:nonFraction> shares of common stock, which in the aggregate, equaled $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" scale="6" id="Narr_ZKPSxAh2xECLDeZiM8um_A">7.4</ix:nonFraction> million at an average share price of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" id="Narr_h79fB8sWRU2-jdp4fF8kww">16.01</ix:nonFraction>. The share repurchase plan expires on December 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:LesseeOperatingLeasesTextBlock" id="Tb_Zns2SxBmYk2yDcC9GogGdw" continuedAt="Tb_Zns2SxBmYk2yDcC9GogGdw_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 15&#8212;Leases</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We lease administrative and various operational facilities, which are generally longer-term, project specific facilities or yards, and construction equipment under non-cancelable operating leases. We determine if an arrangement is a lease at inception. We have lease agreements with lease and non-lease components, which are generally accounted for separately. Operating leases are included in operating lease assets, accrued liabilities, and noncurrent operating lease liabilities on our Condensed Consolidated Balance Sheets. </p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">20</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_41e4a85c_b5e1_4c17_bd2c_8759721832b2"></a><a id="Tc_XrFqXMZ0NUmupRSQnlGDJw_1_2"></a><a id="Tc_j1kx96AUckG-icV8a3CrBQ_2_2"></a><a id="Tc_WZWbX2toeEWgvsoyuH_bww_2_5"></a><a id="Tc_6LpfHYQTC0uvzhBDrgGdIQ_3_0"></a><a id="Tc_6KhMKiMx70eVt7TXjWLujg_3_2"></a><a id="Tc_65HUalZINEKnX2elaUTH5Q_3_4"></a><a id="Tc_ZiJEyM6wO0iC1prY-S7SRw_3_5"></a><a id="Tc_totpkIXwHE-f-4D4_TuljQ_3_7"></a><a id="_dfc2c05c_7e2f_491f_a220_4cf7c24a62a3"></a><a id="Tc_1Np-bfKf2kulIdPpcd1d6A_1_2"></a><a id="Tc_bmN9U6ngOk60g5os-4h6Fg_1_5"></a><a id="Tc_UxBCCBEDh0ybj_imNOFduQ_2_2"></a><a id="Tc_JlEyHjFdu0qfR8IX0K_PkQ_2_5"></a><a id="Tc_vwNOnr55cUOHGm_aHAReCw_3_2"></a><a id="Tc_jror4IgoUUCH7wwRRpeBug_3_5"></a><a id="Tc__cudhsKpmEqzhJOpyPoScg_5_2"></a><a id="Tc_qVx25wK-ykaoSG7HyQuInA_5_5"></a><ix:continuation id="Tb_Zns2SxBmYk2yDcC9GogGdw_cont1"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Operating lease assets and operating lease liabilities are recognized at commencement date based on the present value of the future minimum lease payments over the lease term. In determining our lease term, we include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date to determine the present value of future payments. Lease expense from minimum lease payments is recognized on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our leases have remaining lease terms that expire at various dates through 2030, some of which may include <ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" format="ixt:booleantrue" name="us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend" id="Narr_bt96UFLpQEyxDedMDotqPw">options to extend</ix:nonNumeric> the leases for up to <ix:nonNumeric contextRef="As_Of_3_31_2020_srt_RangeAxis_srt_MaximumMember_dqOlgF_sN0u3j9wIGHdmtA" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseRenewalTerm" id="Narr_oiwsWZbGakSIloV7iMkiHw">5 years</ix:nonNumeric>. The exercise of lease extensions is at our sole discretion. Periodically, we sublease excess facility space, but any sublease income is generally not significant. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:LeaseCostTableTextBlock" id="Tb_TljZj3LJIkiVrjlO3W-i9w" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">The components of lease expense are as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri';font-size:14pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:37.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating lease expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="Tc_l43GwsiW2E6psLoKzH-I7Q_3_3">22,978</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(1)</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="Tc_MyQRgJSklEa2fyCbNWtmcA_3_6">16,513</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(1)</b></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">________________________________________</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Includes short-term leases which are immaterial. </span></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="prim:LesseeOperatingLeaseLiabilityTableTextBlock" id="Tb_Om_7L7kxJ0KRd4M7nDZk-A" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 0pt;">Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden__JXUjXF_fUO7A8Od1LSBcw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Accrued liabilities</span></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_OUSdEkR4X06AiSFwuZvqQA_3_3">79,532</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_anoGdvt3m0WQs4lopHCztw_3_6">74,036</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_YU8jmKS8wUqFjBRDNoo_bA"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Noncurrent operating lease liabilities, net of current portion</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_nNesCaYLKUu7l_Hhn5_iCw_4_3">176,546</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_AKvyM4ES_0ODWj1RDGbv-Q_4_6">171,225</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_sJzfSIUrRUuEtRBRWU2bww_5_3">256,078</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_tOxjz68QjUiA3F4VmUQ85w_5_6">245,261</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Narr_LTfbzx9WlEay-AL7cfsUUw"></a><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_5t3PqTwIpEimY-2cWpMsWQ" continuedAt="Tb_5t3PqTwIpEimY-2cWpMsWQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 16&#8212;Commitments and Contingencies</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">NTTA settlement &#8212;</span> On February 7, 2012, we were sued in an action entitled North Texas Tollway Authority (&#8220;NTTA&#8221;), Plaintiff v. James Construction Group, LLC, and KBR, Inc., Defendants, v. Reinforced Earth Company, Third-Party Defendant (the &#8220;Lawsuit&#8221;). On February 25, 2015, the Lawsuit was settled, and we recorded a liability for $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_2uFZe3IrL0qK7lugwFuxpQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LitigationSettlementAmountAwardedToOtherParty" scale="6" id="Narr_epZc0xaPbkKdLQDVCTjgdQ">17.0</ix:nonFraction> million. A second defendant agreed to provide up to $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember__zH3HAZcIUaUDLkkxOQcnQ" decimals="-5" format="ixt:numdotdecimal" name="prim:LitigationSettlementPaymentsByDefendantsInExpectedCosts" scale="6" id="Narr_npSZ4LV1mEKy5ThVm3jjDg">5.4</ix:nonFraction> million to pay for the total expected remediation cost of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_2uFZe3IrL0qK7lugwFuxpQ" decimals="-5" format="ixt:numdotdecimal" name="prim:LitigationSettlementExpectedRemediationCost" scale="6" id="Narr_oeirikISMEC0KHYyOI_BLQ">22.4</ix:nonFraction> million. We will pay a third-party contractor approved by the NTTA to complete the remediation. In the event that the total remediation costs exceed the $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_2uFZe3IrL0qK7lugwFuxpQ" decimals="-5" format="ixt:numdotdecimal" name="prim:LitigationSettlementExpectedRemediationCost" scale="6" id="Narr_Bi1-CAq_YE6VcsVT_1Ss7g">22.4</ix:nonFraction> million, the second defendant would pay <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="As_Of_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_-uXUc15HCk-Bpd-qUTgJyA" decimals="2" format="ixt:numdotdecimal" name="prim:LitigationCostsCodefendantPercentage" scale="-2" id="Narr_FclYc1FpDUKpN2CIalpklg">20</ix:nonFraction>% of the excess amount and we would pay for <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="As_Of_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_-uXUc15HCk-Bpd-qUTgJyA" decimals="2" format="ixt:numdotdecimal" name="prim:LitigationCostsCompanyPercentage" scale="-2" id="Narr_8VXeWWSLm0-3_P8N85rPVg">80</ix:nonFraction>% of the excess amount. During the three months ended March 31, 2020, we increased our estimate of the total expected remediation costs by $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_kTV_JK0lw0i5oyZXhNH5Hg" decimals="-5" format="ixt:numdotdecimal" name="prim:LitigationSettlementIncreaseInLiability" scale="6" id="Narr_gkP-9_-0bESeuFwl2z6OXQ">0.5</ix:nonFraction> million. We also spent $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_kTV_JK0lw0i5oyZXhNH5Hg" decimals="-5" format="ixt:numdotdecimal" name="prim:LitigationSettlementRemediationExpense" scale="6" id="Narr_fAM1GR0ne0iyQoFPmi6KIg">2.5</ix:nonFraction> million for remediation during the three months ended March 31, 2020. While we continue to monitor the progress toward remediation and the total remediation costs, at this time we cannot determine the total eventual remediation cost. At March 31, 2020, the remaining accrual balance was $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_-uXUc15HCk-Bpd-qUTgJyA" decimals="-5" format="ixt:numdotdecimal" name="prim:LitigationSettlementRemainingAccrualBalance" scale="6" id="Narr_U4KLoo-Sr0GT6c6L7cF2oQ">6.5</ix:nonFraction> million. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Legal proceedings &#8212; </span>We had been engaged in dispute resolution to collect money we believe we were owed for a construction project completed in 2014. The dispute resolution for the receivable initially required international arbitration; however, in the first half of 2016, the owner sought bankruptcy protection in U.S. bankruptcy court. We initiated litigation against the sureties who had provided lien and stop payment release bonds for the amount owed. During 2018, we settled with the sureties. In addition, we believe we are owed amounts from the bankruptcy trustee. We expect that we will collect a portion of the amount owed to us but cannot predict the timing of such collection.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are subject to other claims and legal proceedings arising out of our business. We provide for costs related to contingencies when a loss from such claims is probable and the amount is reasonably estimable. In determining whether it is possible to provide an estimate of loss, or range of possible loss, we review and evaluate our litigation and regulatory matters on a quarterly basis in light of potentially relevant factual and legal developments. If we determine an unfavorable outcome is not probable or probable but not reasonably estimable, we do not accrue for a potential litigation loss.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">21</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_5t3PqTwIpEimY-2cWpMsWQ_cont1"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;"> Management is unable to ascertain the ultimate outcome of other claims and legal proceedings; however, after review and consultation with counsel and taking into consideration relevant insurance coverage and related deductibles/self-insurance retention, management believes that it has meritorious defenses to such claims and believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a material adverse effect on our consolidated results of operations, financial condition or cash flow.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Bonding &#8212;</span> At March 31, 2020 and December 31, 2019, the Company had bid and completion bonds issued and outstanding totaling approximately $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_3_31_2020_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_IO_YgHRZK0CVP9zM_vMn4A" decimals="-5" format="ixt:numdotdecimal" name="prim:BondsIssuedAndOutstanding" scale="6" id="Narr_srXDISJ_tESKVp_2fPEMlQ">829.0</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="As_Of_12_31_2019_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_crN3U11GG0GoRTxf5rfzZg" decimals="-5" format="ixt:numdotdecimal" name="prim:BondsIssuedAndOutstanding" scale="6" id="Narr_7zbuLePwJUm3GvYigFUULw">648.6</ix:nonFraction> million, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_dxhTwxeq20-nqIk4_5jIXg" continuedAt="Tb_dxhTwxeq20-nqIk4_5jIXg_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 17&#8212;Reportable Segments</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We segregate our business into <ix:nonFraction unitRef="Unit_Standard_segment_zK27MSdamEeRnPBVsDPe7g" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_TEi95BLpY0SLRA6kpgOqUg">five</ix:nonFraction> reportable segments: the Power segment, the Pipeline segment, the Utilities segment, the Transmission segment, and the Civil segment. Each of our reportable segments is comprised of similar business units that specialize in services unique to the segment. Driving the end-user focused segments are differences in the economic characteristics of each segment, the nature of the services provided by each segment; the production processes of each segment; the type or class of customer using the segment&#8217;s services; the methods used by the segment to provide the services; and the regulatory environment of each segment&#8217;s customers.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a brief description of the reportable segments:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Power segment operates throughout the United States and in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, upgrades, repairs, outages, and maintenance services for entities in the petroleum and petrochemical industries, as well as traditional and renewable power generators.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Pipeline segment operates throughout the United States and specializes in a range of services, including pipeline construction and maintenance, pipeline facility and integrity services, installation of compressor and pump stations, and metering facilities for entities in the petroleum and petrochemical industries, as well as gas, water, and sewer utilities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Utilities segment operates primarily in California, the Midwest, the Atlantic Coast, and the Southeast regions of the United States and specializes in a range of services, including installation and maintenance of new and existing natural gas utility distribution systems and pipeline integrity services for entities in the gas utility market.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Transmission segment operates primarily in the Southeastern, Midwest, Atlantic Coast, and Gulf Coast regions of the United States and specializes in a range of services, including installation and maintenance of new and existing electric utility transmission, substation, and distribution systems for entities in the electric utility market.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Civil segment operates primarily in the Southeastern and Gulf Coast regions of the United States and specializes in highway and bridge construction, airport runway construction, demolition, site work, soil stabilization, mass excavation, flood control, and drainage projects for entities in the petroleum and petrochemical industries, state and municipal departments of transportation, and airports.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">All intersegment revenue and gross profit, which was immaterial, has been eliminated in the following tables. Total assets by segment is not presented as our Chief Operating Decision Maker as defined by ASC 280 does not review or allocate resources based on segment assets.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">22</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_9f7ce0ce_f39c_465b_b2d4_1ee2c9573226"></a><a id="Tc_T_sd4RhD6kKxcttdOXfiJg_1_2"></a><a id="Tc_MpKujE1Hc0ONAu-NkvKDgQ_2_2"></a><a id="Tc_zBXlJLih4E6Q8W3u18YY8A_2_7"></a><a id="Tc_F91iPAzhoUW3h6cxWy8Big_3_5"></a><a id="Tc_ffM26hqwQ0q1N7O5kaW4cQ_3_10"></a><a id="Tc_4o45ll3R80-wQXqDz1gk7Q_4_5"></a><a id="Tc_sWgOS9O6xUq-YXU8rsXWxg_4_10"></a><a id="Tc__nBOEmmAz0KAgn7XoIJ-6g_5_0"></a><a id="Tc_U1CfCYaZl0qD7U-KXfK4oQ_5_2"></a><a id="Tc_wxmp1bvwLUKbqGWKNr3UIw_5_5"></a><a id="Tc_S_pXOR_9eESA57i2nWkviQ_5_7"></a><a id="Tc_4BdwA21mp0CRMZ1QfFgrvA_5_10"></a><a id="Tc_EzhOJW3Qb0eVRJ2Q69FhAw_6_0"></a><a id="Tc_7w5lIKnM0ke6YFQ8ETGcaQ_6_2"></a><a id="Tc_riy6avsxgkGvAWUiAOV0Tg_6_7"></a><a id="Tc_8IJ5-F6gO0eNgppFCxX5vg_7_0"></a><a id="Tc_pxTNM1FcBEacxvAK3rTsaA_8_0"></a><a id="Tc_aKs6xSvwkUWXHxyUhwVMpg_9_0"></a><a id="Tc_JsmrX0tjL0mxCFtWgcWGFw_10_0"></a><a id="Tc_9IERWn3mZkyijGqh9f0shg_11_0"></a><a id="Tc_WDP0r2HpkkmQnHDOK-Nqvw_11_2"></a><a id="Tc_cCVJBM_k2EqHqBJmkKQ3bg_11_7"></a><a id="_600628bb_3a00_4fbd_8a33_a65907271824"></a><a id="Tc_TydBwUHz90K12_OLqlgKpA_1_2"></a><a id="Tc_wFyZIDfU3k-ZHO87ndy__w_2_2"></a><a id="Tc_lNFzDXtpB0yzO4tIgn3trg_2_7"></a><a id="Tc_zzpt4B5-OUessBinHKLTLQ_3_5"></a><a id="Tc_Zy92m0V7dUKcaGoQRYdEDA_3_10"></a><a id="Tc_V4pAxDkIsUK5j_8zPTwPTg_4_5"></a><a id="Tc_EEq4aW_t802cnUr3xOZ-Gg_4_10"></a><a id="Tc_w2qdV_JEc0mqSwnbXHYMxw_5_0"></a><a id="Tc_Ta9S_TdrRkuaPIglpvNYwQ_5_2"></a><a id="Tc_x1-yWhLN_UqYsICHoiaIqA_5_5"></a><a id="Tc_YJn3x1bWTky24WQApqGcBA_5_7"></a><a id="Tc_ofHvhcItWUKEWBxFWLw11g_5_10"></a><a id="Tc_K0vn2e2qq0G1vXPwJyXSTg_6_0"></a><a id="Tc_Hq1dZ_AynUaP4RqiFmeWsw_6_2"></a><a id="Tc_zXp3IP311E2ft-5VaC8vZw_6_7"></a><a id="Tc_RT0E6GHjrEaUYSVE9LMp4Q_7_0"></a><a id="Tc_M-0jEMR9ZUeejFMeS8dYkQ_8_0"></a><a id="Tc_8VXFQqMVXkGESDJCr4mm1A_9_0"></a><a id="Tc_piY6H5UU4k63SzQT5rajbA_10_0"></a><a id="Tc__4M1OSrvj02X-Ft3SdKvrA_11_0"></a><a id="Tc_Dndikhm8YUG_x8EvlirQ0Q_11_2"></a><a id="Tc_8o37KqjtTE2MCw8jh3MjmA_11_7"></a><ix:continuation id="Tb_dxhTwxeq20-nqIk4_5jIXg_cont1"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Segment Revenue</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="Tb_Z6JNpoTVmEicSn-KN84l6A" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_QKj9NkS3REuydoTvt8a5Xw_6_3">196,193</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_GXkeZmdm6Um3RRiedjPu1A_6_5">26.4</ix:nonFraction>%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_ms29Fxo0HEKGpCc6gbgpsw_6_8">145,383</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_mm9iwRbUO0yMSurEgbMJYA_6_10">22.0</ix:nonFraction>%</p></td></tr><tr><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_RnCWH62SSESN6kln86uGaQ_7_3">191,523</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_YAMOZW3uKEqrW1O53MZ6Ug_7_5">25.8</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_6aTNyWIwVEu3jb8YMumC1g_7_8">134,814</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_HLV66SABsUGJjJe8Du124w_7_10">20.4</ix:nonFraction>%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_OLKBKs_-hE-u9b2mjp_HkQ_8_3">147,170</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_27ggsz3eOkirL4D8h2QCLA_8_5">19.8</ix:nonFraction>%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_Nl7icPU8GkqGgfMVuEwKiw_8_8">146,206</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_huLzBY0oo02wZvFrJXkIBA_8_10">22.1</ix:nonFraction>%</p></td></tr><tr><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc__f7pms31YUaC3pv8sR8_Vg_9_3">102,784</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_4G5dJc5kk0KUq-8uLowUHA_9_5">13.8</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_mNLJrPE7W0Go4QKrKznM5w_9_8">118,443</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_Sf5ViDktdkWTyfgxo86lhg_9_10">17.9</ix:nonFraction>%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_thi8ze_YwEK_FK6yV9cVhg_10_3">105,573</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_HyYrAlPQyUWcjLLweygElA_10_5">14.2</ix:nonFraction>%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_TEj0x63jiUilT4TLUeuanQ_10_8">116,712</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_4nmduTansE2VWJLZpdfsug_10_10">17.6</ix:nonFraction>%</p></td></tr><tr><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_c8poyYLzQ0aEV1AR1icHdg_11_3">743,243</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_9OVtnj4FYUiPbVXmdHiSBg_11_5">100.0</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="Tc_xOQKuyviRECu93KmSQxMiw_11_8">661,558</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Tc_7eQ0tBbnmUKBF_wK-qcCig_11_10">100.0</ix:nonFraction>%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:94.5pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Segment Gross Profit</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Gross profit by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Profit</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Profit</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_azAknKYyUkOyW2KTeymd5w_6_3">18,682</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc_FL3UfFrPK06uOarmONq9kA_6_5">9.5</ix:nonFraction>%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_LHWUcj7fZkGXVHHuT1Gmuw_6_8">20,198</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc__CqPEVg99EuzQHzSlxWivA_6_10">13.9</ix:nonFraction>%</p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_OMGmgQwhS0yNMtZS6khUow_7_3">16,492</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc_8zL9wuHv1E69R8w2X9hx0A_7_5">8.6</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_wJURwQl4l02E-cw5OnOBvw_7_8">15,016</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc_P2lq_MssoECXK8ui9owtCg_7_10">11.1</ix:nonFraction>%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_W2Zc83PAOkGoyxHHsw235Q_8_3">4,602</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc_xBII53qyckWdI7_lcLJHyg_8_5">3.1</ix:nonFraction>%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Wn3wSQ89hEamuUveps89-A_8_8">8,241</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc_lvXD7SCVUUSPjDfhGqIB7w_8_10">5.6</ix:nonFraction>%</p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_XEgWVrTgIk2mAUk-g_ZTWQ_9_3">1,712</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc_8wD5PVJu7UqLBWSnDm64QA_9_5">1.7</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_ztTfE6Y720qsnu-oaPd5og_9_8">6,628</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc_YkYf3TFGkEKHm4sEYyulCg_9_10">5.6</ix:nonFraction>%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_WuI1qlcHUUmJIxmCaUTbNg_10_3">6,322</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc_X3tODh8sl0aJkVFiCqrE2A_10_5">6.0</ix:nonFraction>%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_tFhqDhAI806xekUoOBW-OQ_10_8">2,377</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc_liFaLtOqOE-VQ7JLzDjyVQ_10_10">2.0</ix:nonFraction>%</p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_ghGSBDxQLke6rjuS-9XOXw_11_3">47,810</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc_nhRx7TpdOEqGILMjmWeRJg_11_5">6.4</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_NrldLrOzz0yraIbRqGfq8w_11_8">52,460</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ" decimals="3" format="ixt:numdotdecimal" name="prim:GrossProfitAsPercentageOfSegmentRevenue" scale="-2" id="Tc_GpRbtXaKnku83sv02SgKkQ_11_10">7.9</ix:nonFraction>%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:94.5pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Segment Goodwill</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The amount of goodwill recorded by each segment at March 31, 2020 and at December 31, 2019 is presented in Note 6 &#8211; &#8220;<i style="font-style:italic;">Goodwill and Intangible Assets&#8221;</i>. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Geographic Region &#8212; Revenue and Total Assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The majority of our revenue is derived from customers in the United States with approximately <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_6KYUxaE6R0WFY8BOMBdMvg" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Narr_rxXRrtRmQEqHZ1mwPmzPxA">4.2</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_3_31_2019_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_6plzbYd0gkaE-7ySmclNmw" decimals="3" format="ixt:numdotdecimal" name="prim:RevenuePercentage" scale="-2" id="Narr_JmQHFKx_20Km8G9X7yhU8A">4.6</ix:nonFraction>% generated from sources outside of the United States during the three months ended March 31, 2020 and 2019, respectively, principally in Canada. At March 31, 2020 and December 31, 2019, approximately <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2020_To_3_31_2020_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_6KYUxaE6R0WFY8BOMBdMvg" decimals="3" format="ixt:numdotdecimal" name="prim:TotalAssetsPercentage" scale="-2" id="Narr_zlylkZ-dukO5BRf0GTMu8w">3.4</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_ud4XQVSNV0OZIN3BWXQsyQ" decimals="3" format="ixt:numdotdecimal" name="prim:TotalAssetsPercentage" scale="-2" id="Narr_pcXJlmde4keiumr-IIjGZQ">4.4</ix:nonFraction>%, respectively, of total assets were located outside of the United States, principally in Canada.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA" name="us-gaap:SubsequentEventsTextBlock" id="Tb_WFBUoq3z1Uq6Us8PnuLbRA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 18&#8212;Subsequent Events</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><i style="font-style:italic;">Cash Dividend</i></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On May 1, 2020, the Board of Directors declared a cash dividend of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q" contextRef="Duration_5_1_2020_To_5_1_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember__5PeX9PbKkuTJHkNoreKVg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_Bi2UGnyTmUmFdnqhhI5Xmg">0.06</ix:nonFraction> per share of common stock for stockholders of record as of June 30, 2020, payable on or about July 15, 2020.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">23</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:5pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><a id="_4b2c3cf7_f50c_4ece_a308_eeef66f4a8eb"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PRIMORIS SERVICES CORPORATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Item2ManagementsDiscussionandAnalysis_73"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Item 2.  Management&#8217;s Discussion and Analysi</b><b style="font-weight:bold;">s of Financial Condition and Results of Operations</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Forward Looking Statements</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">This Quarterly Report on Form 10-Q for the quarterly period ended March 31, 2020 (&#8220;First Quarter 2020 Report&#8221;) contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended (the &#8220;Securities Act&#8221;), and Section 21E of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;), which are subject to the &#8220;safe harbor&#8221; created by those sections. Forward-looking statements include information concerning our possible or assumed future results of operations, business strategies, financing plans, competitive position, industry environment, potential growth opportunities, the effects of regulation and the economy, generally. Forward-looking statements include all statements that are not historical facts and can be identified by terms such as &#8220;anticipates&#8221;, &#8220;believes&#8221;, &#8220;could&#8221;, &#8220;estimates&#8221;, &#8220;expects&#8221;, &#8220;intends&#8221;, &#8220;may&#8221;, &#8220;plans&#8221;, &#8220;potential&#8221;, &#8220;predicts&#8221;, &#8220;projects&#8221;, &#8220;should&#8221;, &#8220;will&#8221;, &#8220;would&#8221; or similar expressions.</i></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Forward-looking statements involve known and unknown risks, uncertainties and other factors which may cause our actual results, performance or achievements to be materially different from any future results, performance or achievements expressed or implied by the forward-looking statements. We discuss many of these risks in detail in Part I, Item 1A &#8220;Risk Factors&#8221; of our Annual Report on Form 10-K for the year ended December 31, 2019 and our other filings with the Securities and Exchange Commission (&#8220;SEC&#8221;), including in Part II, Item 1A &#8220;Risk Factors&#8221; of this First Quarter 2020 report. You should read this First Quarter 2020 Report, our Annual Report on Form 10-K for the year ended December 31, 2019 and our other filings with the SEC completely and with the understanding that our actual future results may be materially different from what we expect.</i></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Given these uncertainties, you should not place undue reliance on these forward-looking statements. Also, forward-looking statements represent our management&#8217;s beliefs and assumptions only as of the date of this First Quarter 2020 Report. We assume no obligation to update these forward-looking statements publicly, or to update the reasons actual results could differ materially from those anticipated in any forward-looking statements, even if new information becomes available.</i></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">The following discussion and analysis should be read in conjunction with the unaudited financial statements and the accompanying notes included in Part 1, Item 1 of this First Quarter 2020 Report and our Annual Report on Form 10-K for the year ended December 31, 2019.</i></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Introduction</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are one of the leading providers of specialty contracting services operating mainly in the United States and Canada. We provide a wide range of specialty construction services, fabrication, maintenance, replacement, and engineering services to a diversified base of customers through our five segments: Power, Industrial, and Engineering (&#8220;Power&#8221;), Pipeline and Underground (&#8220;Pipeline&#8221;), Utilities and Distribution (&#8220;Utilities&#8221;), Transmission and Distribution (&#8220;Transmission&#8221;), and Civil. The structure of our reportable segments is generally focused on broad end-user markets for our services. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Power segment operates throughout the United States and in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, upgrades, repairs, outages, and maintenance services for entities in the petroleum and petrochemical industries, as well as traditional and renewable power generators.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Pipeline segment operates throughout the United States and specializes in a range of services, including pipeline construction and maintenance, pipeline facility and integrity services, installation of compressor and pump stations, and metering facilities for entities in the petroleum and petrochemical industries, as well as gas, water, and sewer utilities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Utilities segment operates primarily in California, the Midwest, the Atlantic Coast, and the Southeast regions of the United States and specializes in a range of services, including installation and maintenance of new and existing natural gas utility distribution systems and pipeline integrity services for entities in the gas utility market.</p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">24</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Transmission segment operates primarily in the Southeastern, Midwest, Atlantic Coast, and Gulf Coast regions of the United States and specializes in a range of services, including installation and maintenance of new and existing electric utility transmission, substation, and distribution systems for entities in the electric utility market.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Civil segment operates primarily in the Southeastern and Gulf Coast regions of the United States and specializes in highway and bridge construction, airport runway construction, demolition, site work, soil stabilization, mass excavation, flood control, and drainage projects for entities in the petroleum and petrochemical industries, state and municipal departments of transportation, and airports.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have longstanding customer relationships with major utility, refining, petrochemical, power, midstream, and engineering companies, and state departments of transportation. We have completed major underground and industrial projects for a number of large natural gas transmission and petrochemical companies in the United States, major electrical and gas projects for a number of large utility companies in the United States, as well as significant projects for our engineering customers. We enter into a large number of contracts each year, and the projects can vary in length from daily work orders to as long as 36 months, and occasionally longer, for completion on larger projects. Although we have not been dependent upon any one customer in any year, a small number of customers tend to constitute a substantial portion of our total revenue in any given year.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generate revenue under a range of contracting options, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts. A substantial portion of our revenue is derived from contracts that are fixed-price or unit-price and is recognized over time as work is completed because of the continuous transfer of control to the customer. For time and material and cost reimbursable plus fee contracts, revenue is recognized primarily on an input basis, based on contract costs incurred as defined within the respective contracts.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses were made.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Material trends and uncertainties</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generate our revenue from construction and engineering projects, as well as from providing a variety of construction services. We depend in part on spending by companies in the gas and electric utility industries, the energy, chemical, and oil and gas industries, as well as state departments of transportation and municipal water and wastewater customers. Over the past several years, each segment has benefited from demand for more efficient and more environmentally friendly energy and power facilities, more reliable gas and electric utility infrastructure, local highway and bridge needs, and from the activity level in the oil and gas industry. However, periodically, each of these industries and government agencies is adversely affected by macroeconomic conditions. Economic and other factors outside of our control may affect the amount and size of contracts we are awarded in any particular period.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">In March 2020, the novel coronavirus (&#8220;COVID-19&#8221;) outbreak was declared a National Public Health Emergency which continues to spread throughout the world and has adversely impacted global activity and contributed to significant declines and volatility in financial markets. In an effort to contain COVID-19 or slow its spread, governments around the world have also enacted various measures, including orders to close all businesses not deemed &#8220;essential&#8221;, isolate residents to their homes or places of residence, and practice social distancing when engaging in essential activities. While our services have generally been deemed to be essential services, all segments have reported various levels of project interruptions and restrictions that have delayed project timelines from those originally planned. In some cases, we have experienced temporary work stoppages. This led to general inefficiencies from having to start and stop work, re-sequencing work, requiring on-site health screenings before entering a job site, and following proper social distancing practices. We have also been restricted from completing work or have been prevented from starting work on certain projects.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We anticipate that the outbreak could have a continued adverse impact on economic and market conditions and trigger a period of global economic slowdown. When COVID-19 is demonstrably contained, we anticipate a rebound in economic activity, depending on the rate, pace, and effectiveness of the containment efforts deployed by various national, state, and local governments.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">25</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">To date, the inefficiencies experienced have had an unquantifiable impact to our business. We will continue to actively monitor the situation and may take further actions to alter our business operations that we determine are in the best interests of our employees, customers, suppliers, and stakeholders, or as required by federal, state, or local authorities. It is not clear what the potential effects any such alterations or modifications may have on our business or on our financial results for the remainder of 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We also monitor our customers and their industries to assess the effect that changes in economic, market, and regulatory conditions may have on them. We have experienced reduced spending by some of our customers over the last several months, which we attribute to negative economic and market conditions, and we anticipate that these negative conditions and the impact of COVID-19 may continue to affect demand for our services in the near-term.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Fluctuations in market prices of oil, gas and other fuel sources have affected demand for our services.  The volatility in the prices of oil, gas, and liquid natural gas that has occurred in the past few years could create uncertainty with respect to demand for our oil and gas pipeline services, specifically in our oil field services and Canadian operations. The recent significant reduction in the price of oil could create uncertainty with respect to demand for our oil and gas pipeline services in the near term, with additional uncertainty resulting over the length of time that prices remain depressed. When the current oversupply eases and with a return to increasing global demand for oil, we expect oil prices to recover from the current levels. While the construction of gathering lines within the oil shale formations may remain at lower levels for an extended period, we believe that over time, the need for pipeline infrastructure for mid-stream and gas utility companies will result in a continuing need for our services. However, a prolonged period of depressed oil prices could delay midstream pipeline opportunities. </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">The continuing changes in the regulatory environment may affect the demand for our services, either by increasing our work or delaying projects.  For example, environmental laws and regulation can provide challenges to major pipeline projects, resulting in delays that impact the timing of revenue recognition. In addition, the regulatory environment in California may result in delays for the construction of gas-fired power plants, while regulators continue to search for significant renewable resources.  Renewable resources are also creating a demand for our construction and specialty services, such as the need for battery storage and the construction of solar power production facilities.</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Seasonality, cyclicality and variability</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Our results of operations are subject to quarterly variations. Some of the variation is the result of weather, particularly rain, ice, snow, and named storms, which can impact our ability to perform construction and specialty services. These seasonal impacts can affect revenue and profitability in all of our businesses since utilities defer routine replacement and repair during their period of peak demand. Any quarter can be affected either negatively, or positively by atypical weather patterns in any part of the country.  In addition, demand for new projects tends to be lower during the early part of the calendar year due to clients&#8217; internal budget cycles.  As a result, we usually experience higher revenue and earnings in the third and fourth quarters of the year as compared to the first two quarters.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Our project values range in size from several hundred dollars to several hundred million dollars. The bulk of our work is comprised of project sizes that average less than $5.0 million. We also perform construction projects which tend not to be seasonal, but can fluctuate from year to year based on customer timing, project duration, weather, and general economic conditions.  Our business may be affected by declines, or delays in new projects, or by client project schedules.  Because of the cyclical nature of our business, the financial results for any period may fluctuate from prior periods, and our financial condition and operating results may vary from quarter to quarter.  Results from one quarter may not be indicative of our financial condition, or operating results for any other quarter, or for an entire year.</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Critical Accounting Policies and Estimates</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities as of the date of the financial statements and that affect the amounts of revenue and expenses reported for each period. These estimates and assumptions must be made because certain information that is used in the preparation of our financial statements cannot be calculated with a high degree of precision from data available, is dependent on future events, or is not capable of being readily calculated based on generally accepted methodologies. Often, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ significantly from our estimates, and our estimates could change if they were made under different assumptions or conditions. Our critical accounting policies are described in our Item 7 of our Annual Report on </p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">26</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Form&#160;10-K for the year ended December 31, 2019. There have been no material changes to our critical accounting policies since December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Results of Operations</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Consolidated Results</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following discussion compares the results of the three months ended March 31, 2020 to the three months ended March 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue was $743.2 million for the three months ended March 31, 2020, an increase of $81.7 million, or 12.3%, compared to the same period in 2019. The increase was primarily due to growth in our Pipeline and Power segments, partially offset by lower revenue in our Transmission and Civil segments. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Gross profit was $47.8 million for the three months ended March 31, 2020, a decrease of $4.7 million, or 8.9%, compared to the same period in 2019.  The decrease was primarily due to a decrease in gross profit as a percentage of revenue, partially offset by revenue growth. Gross profit as a percentage of revenue decreased to 6.4% for the three months ended March 31, 2020, compared to 7.9% for the same period in 2019 as described in the forthcoming segment results. </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Selling, general and administrative expenses</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Selling, general and administrative (&#8220;SG&amp;A&#8221;) expenses were $44.4 million during the three months ended March 31, 2020, an increase of $1.5 million, or 3.4%, compared to 2019 primarily due to a $1.0 million increase in consulting expenses. SG&amp;A expense as a percentage of revenue decreased to 6.0% compared to 6.5% for the corresponding period in 2019 due to increased revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Other income and expense</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Non-operating income and expense items for the three months ended March 31, 2020 and 2019 were as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:67.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:67.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange gain (loss)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 136</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (185)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other income (expense), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (370)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 281</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 349</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (9,112)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (5,592)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total other income (expense)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (8,683)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (5,798)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Foreign exchange gains reflect currency exchange fluctuations associated with our Canadian engineering operation, which operates principally in United States dollars.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Interest expense for the three months ended March 31, 2020, increased compared to the same period in 2019 due primarily to a $5.0 million unrealized loss on the change in the fair value of our interest rate swap agreement during the three months ended March 31, 2020, compared to $1.4 million in 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Provision for income taxes </b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates, and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur which can cause variability in the effective tax rate from quarter to quarter.  We recognize interest and penalties related to uncertain tax positions, if any, as an income tax expense.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">   </span><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">27</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">The effective tax rate on income attributable to Primoris (excluding noncontrolling interests) was 29.0% for the three months ended March 31, 2020.  The rate differs from the U.S. federal statutory rate of 21.0% primarily due to state income taxes and nondeductible components of per diem expenses.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;"> We recorded an income tax benefit for the three months ended March 31, 2020 of $1.5 million compared to an expense of $0.8 million for the three months ended March 31, 2019. The $2.3 million decrease in income tax expense was primarily driven by a $8.0 million decrease in pre-tax income (excluding noncontrolling interests).</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Segment results</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Power Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue and gross profit for the Power segment for the three months ended March 31, 2020 and 2019 were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:44.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Power Segment</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 196,193</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 145,383</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,682</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.5%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,198</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">13.9%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue increased by $50.8 million, or 34.9%, for the three months ended March 31, 2020, compared to the same period in 2019. The increase is primarily due to a carbon monoxide and hydrogen plant project that began in the second quarter of 2019 ($33.1 million) and progress on a West Texas solar facility project that began late in the first quarter of 2019 ($16.8 million). </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Gross profit for the three months ended March 31, 2020, decreased by $1.5 million, or 7.5%, compared to the same period in 2019 due to lower margins, partially offset by higher revenue.  Gross profit as a percentage of revenue decreased to 9.5% during the three months ended March 31, 2020, compared to 13.9% in the same period in 2019 primarily due to higher costs associated with an engineering project and a Canadian tank farm project in 2020, as well as the favorable impact from the closeout of multiple refinery projects and our Carlsbad joint venture project in 2019. These amounts are partially offset by an improved gross margin on a West Texas solar facility project in 2020 and increase in expected claim recovery on a project completed in 2014.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Pipeline Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue and gross profit for the Pipeline segment for the three months ended March 31, 2020 and 2019 were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:44.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Pipeline Segment</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 191,523</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 134,814</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,492</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">8.6%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,016</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.1%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue increased by $56.7 million, or 42.1%, for the three months ended March 31, 2020, compared to the same period in 2019. The increase is primarily due to pipeline projects in Texas and Virginia that began in the first quarter of 2020 ($118.2 million combined), partially offset by the substantial completion of a major pipeline project in West Texas in the second quarter of 2019 and reduced activity on a major pipeline project in the Mid-Atlantic ($51.3 million combined).</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Gross profit for the three months ended March 31, 2020 increased by $1.5 million, or 9.8%, compared to the same period in 2019 due to higher revenue, partially offset by lower margins. Gross profit as a percentage of revenue decreased to 8.6% during the three months ended March 31, 2020, compared to 11.1% in the same period in 2019 primarily due to </p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">28</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">startup costs on pipeline projects in Texas in 2020 and the favorable impact from the closeout of multiple pipeline projects in 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Utilities Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue and gross profit for the Utilities segment for the three months ended March 31, 2020 and 2019 were as follows:</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:42.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Utilities Segment</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 147,170</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 146,206</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,602</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">3.1%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,241</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.6%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue increased by $1.0 million, or 0.7%, for the three months ended March 31, 2020, compared to the same period in 2019 primarily due to increased activity with utility customers in the Midwest, Southeast, and Texas ($10.5 million combined), partially offset by decreased activity with a utility customer in California. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Gross profit for the three months ended March 31, 2020 decreased by $3.6 million, or 44.2%, compared to the same period in 2019 primarily due to lower margins. Gross profit as a percent of revenue decreased to 3.1% during the three months ended March 31, 2020, compared to 5.6%, in the same period in 2019 primarily due to the favorable impact from the closeout of multiple jobs with a utility customer in California in 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Transmission Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue and gross profit for the Transmission segment for the three months ended March 31, 2020 and 2019 were as follows:</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:42.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Transmission Segment</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 102,784</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 118,443</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:54.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,712</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1.7%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,628</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.6%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue decreased by $15.7 million, or 13.2%, for the three months ended March 31, 2020, compared to the same period in 2019 primarily due to decreased activity with a utility customer in Texas.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">Gross profit for the three months ended March 31, 2020, decreased by $4.9 million, or 74.2%, compared to the same period in 2019, due primarily to lower revenue and margins.  Gross profit as a percentage of revenue decreased to 1.7% during the three months ended March 31, 2020, compared to 5.6% in the same period in 2019 primarily due to slower than anticipated release of work by certain customers resulting in higher relative carrying costs for equipment and personnel, and the unfavorable impact of mix of projects in 2020.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">29</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Civil Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue and gross profit for the Civil segment for the three months ended March 31, 2020 and 2019 were as follows:</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:43.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:53.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:20.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:20.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:53.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:53.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:53.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Thousands)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:53.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Civil Segment </span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:53.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 105,573</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,712</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:53.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,322</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.0%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,377</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2.0%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue decreased by $11.1 million, or 9.5%, for the three months ended March 31, 2020, compared to the same period in 2019. The decrease is primarily due to the substantial completion of an ethylene plant project in the second quarter of 2019 and lower Texas Department of Transportation volumes ($16.3 million combined). These amounts were partially offset by progress on a methanol plant project that began in 2019 and higher Louisiana Department of Transportation and Development (&#8220;DOTD&#8221;) volumes. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Gross profit for the three months ended March 31, 2020 increased by $3.9 million compared to the same period in 2019 due to higher margins, partially offset by lower revenue. Gross profit as a percentage of revenue increased to 6.0% during the three months ended March 31, 2020, compared to 2.0% in the same period in 2019 due primarily to increased profit on Louisiana DOTD projects and the unfavorable impact from the Belton area projects in 2019. As of December 31, 2019, all of the Belton area projects were substantially complete.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="color:#212529;">At March 31, 2020, we had approximately $28.2 million of unapproved contract modifications included in the aggregate transaction prices associated with the Belton area projects, all of which had been recognized as revenue on a cumulative catch-up basis through March 31, 2020.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">30</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Geographic area financial information</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The majority of our revenue is derived from customers in the United States with approximately 4.2% generated from sources outside of the United States during the three months ended March 31, 2020, principally in Canada.</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Backlog</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">For companies in the construction industry, backlog can be an indicator of future revenue streams.  Different companies define and calculate backlog in different manners.  We define backlog as a combination of: (1) anticipated revenue from the uncompleted portions of existing contracts for which we have known revenue amounts for fixed-price and unit-price contracts (&#8220;Fixed Backlog&#8221;), and (2) the estimated revenue on MSA work for the next four quarters (&#8220;MSA Backlog&#8221;).  We normally do not include time-and-equipment, time-and-materials and cost reimbursable plus fee contracts in the calculation of backlog, since their final revenue amount is difficult to estimate in advance.  However, we will include these types of contracts in backlog if the customer specifies an anticipated revenue amount.</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The two components of backlog, Fixed Backlog and MSA Backlog, are detailed below.</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Fixed Backlog</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Fixed Backlog by reportable segment as of December 31, 2019 and March 31, 2020 and the changes in Fixed Backlog for the three months ended March 31, 2020 are as follows (in millions):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:14.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:14.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Beginning&#160;Fixed</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:10.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ending&#160;Fixed</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#ffffff;font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:12.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#ffffff;font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:14.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Backlog&#160;at</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:11.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:10.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Backlog at</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:12.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized&#160;from</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">for Three Months</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:14.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additions&#160;to</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:11.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized&#160;from</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:10.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:12.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-Fixed</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Reportable&#160;Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:10.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed&#160;Backlog</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:11.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed&#160;Backlog</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="color:#ffffff;font-weight:bold;">00</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="color:#ffffff;font-weight:bold;">00</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:12.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;Backlog Projects</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="color:#ffffff;font-weight:bold;">00</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="color:#ffffff;font-weight:bold;">00</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:normal;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 401.3</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 112.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 155.5</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 358.5</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 40.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:13.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 196.2</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:14.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 743.4</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 318.0</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 144.8</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 916.6</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46.7</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 191.5</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 42.5</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 42.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36.5</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 104.5</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:13.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 147.1</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:14.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23.0</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.7</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21.0</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13.7</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 81.8</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:13.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 102.8</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 555.1</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 157.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 102.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 609.4</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.9</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:13.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 105.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:14.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,759.4</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 641.9</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 466.6</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,934.7</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 276.6</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-right:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.8%;border-left:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:13.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 743.2</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue recognized from non-Fixed Backlog projects shown above are generated by MSA projects and projects completed under time and material and cost reimbursable plus fee contracts, or are generated from the sale of construction materials, such as rock or asphalt to outside third parties.</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">At March 31, 2020, our total Fixed Backlog was $1.93 billion, representing an increase of $175.3 million, or 10.0%, compared to $1.76 billion at December 31, 2019.&#160;</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">MSA Backlog</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table outlines historical MSA revenue for the past five quarters (in millions):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:3.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:3.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:39.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quarterly&#160;MSA&#160;Revenue</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">First Quarter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 292.9</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 270.4</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Second Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 348.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Third Quarter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 366.9</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Fourth Quarter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 348.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">MSA Backlog includes anticipated MSA revenue for the next twelve months.&#160;We estimate MSA revenue based on historical trends, anticipated seasonal impacts and estimates of customer demand based on information from our customers.</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">31</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table shows our estimated MSA Backlog at March 31, 2020 by reportable segment (in millions):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA&#160;Backlog</b></p></td><td style="background-color:auto;vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> at March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Reportable&#160;Segment:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 95.3</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 85.3</span></p></td><td style="vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 677.9</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 407.2</span></p></td><td style="vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,269.4</span></p></td><td style="vertical-align:bottom;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Total Backlog</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table shows total backlog (Fixed Backlog plus MSA Backlog), by reportable segment as of the quarter-end dates shown below (in millions):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.14%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:22.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:22.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:22.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:22.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Reportable&#160;Segment:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June&#160;30,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September&#160;30,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:22.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 557.8</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 498.8</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 512.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 515.4</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 453.8</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:22.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 659.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 866.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 854.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 862.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,001.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:22.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 802.3</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 782.4</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 764.3</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 774.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 714.4</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:22.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 468.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 473.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 469.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 467.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 420.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:22.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 451.5</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 576.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 610.3</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 558.8</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 613.1</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:22.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,940.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,196.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,210.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,177.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,204.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We expect that during the next four quarters, we will recognize as revenue approximately 73% of the total backlog at March 31, 2020, comprised of backlog of approximately: 87% of the Power segment; 45% of the Pipeline segment; 100% of the Utilities segment; 100% of the Transmission segment; and 57% of the Civil segment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Backlog should not be considered a comprehensive indicator of future revenue, as a percentage of our revenue is derived from projects that are not part of a backlog calculation.  The backlog estimates include amounts from estimated MSA contracts, but our customers are not contractually obligated to purchase an amount of services from us under the MSAs. Any of our contracts, MSA, fixed-price or unit-price, may be terminated by our customers on relatively short notice. In the event of a project cancellation, we may be reimbursed for certain costs, but typically we have no contractual right to the total revenue reflected in backlog.  Projects may remain in backlog for extended periods of time as a result of customer delays, regulatory requirements or project specific issues.  Future revenue from projects completed under time and material and cost reimbursable plus fee contracts may not be included in our estimated backlog amount.</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liquidity and Capital Resources</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Liquidity represents our ability to pay our liabilities when they become due, fund business operations and meet our contractual obligations and execute our business plan.  Our primary sources of liquidity are our cash balances at the beginning of each period and our net cash flow.  If needed, we have availability under our lines of credit to augment liquidity needs. At March 31, 2020, there were no outstanding borrowings under the Revolving Credit Facility, commercial letters of credit outstanding were $39.5 million, and available borrowing capacity was $160.5 million. In order to maintain sufficient liquidity, we evaluate our working capital requirements on a regular basis.  We may elect to raise additional capital by issuing common stock, convertible notes, term debt or increasing our credit facility as necessary to fund our operations or to fund the acquisition of new businesses.</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our cash and cash equivalents totaled $93.5 million at March 31, 2020, compared to $120.3 million at December 31, 2019. We anticipate that our cash and investments on hand, existing borrowing capacity under credit facilities and our future cash flows from operations will provide sufficient funds to enable us to meet our operating needs, our planned capital expenditures, and settle our commitments and contingencies for at least the next twelve months. In evaluating our liquidity, we do not consider cash and cash equivalents held by our consolidated VIEs.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The construction industry is capital intensive, and we expect to continue to make capital expenditures to meet anticipated needs for our services. Historically, we have invested an amount that approximated the sum of depreciation and </p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">32</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">amortization expenses plus proceeds from equipment sales. During the three months ended March 31, 2020, we spent approximately $9.3 million for capital expenditures, which included $4.9 million for construction equipment. The total of our depreciation, amortization and equipment sales was approximately $19.8 million. Capital expenditures for the remaining nine months of 2020 are expected to total between $30.0 million and $40.0 million.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Cash Flows</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Cash flows during the three months ended March 31, 2020 and 2019 are summarized as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Three months ended  </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Change in cash:</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net cash used in operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (5,467)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (72,096)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net cash used in investing activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2,409)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (9,979)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net cash (used in) provided by financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (19,195)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,670</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of exchange rate changes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 259</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 327</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net change in cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (26,812)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (77,078)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Operating Activities</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The source of our cash flows from operating activities for the three months ended March 31, 2020 and 2019 were as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Three months ended  </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Change</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Operating Activities:</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net (loss) income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (3,734)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,936</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (6,670)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Depreciation and amortization</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19,797</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,700</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1,903)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Changes in assets and liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (26,509)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (96,529)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 70,020</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,979</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (203)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,182</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:57.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net cash used in operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (5,467)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (72,096)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 66,629</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Net cash used in operating activities for the three months ended March 31, 2020 was $5.5 million compared to $72.1 million for the three months ended March 31, 2019. The change year-over-year was primarily due to a favorable impact from the changes in assets and liabilities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The significant components of the $26.5 million change in assets and liabilities for the three months ended March 31, 2020 are summarized as follows: </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Contract liabilities decreased by $15.4 million, primarily due to lower deferred revenue;</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Accounts receivable increased by $13.9 million, due primarily to the timing of collecting from our customers;</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Contract assets increased by $15.7 million, primarily due to the timing of billing our customers; and</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"> <span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Accounts payable and accrued liabilities increased by $23.8 million, due to the timing of payments to our vendors and suppliers.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Investing activities</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For the three months ended March 31, 2020, we used $2.4 million in cash for investing activities compared to $10.0 million for the three months ended March 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">During the three months ended March 31, 2020, we purchased property and equipment for $9.3 million compared to $14.4 million during the same period in the prior year.&#160;In addition, we received proceeds from the sale of property and </p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">33</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">equipment of $6.9 million during the three months ended March 31, 2020, compared to $4.4 million during the same period in the prior year. We believe the ownership of equipment is generally preferable to renting equipment on a project-by-project basis, as ownership helps to ensure the equipment is available for our projects when needed. In addition, ownership has historically resulted in lower overall equipment costs.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Financing activities</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Financing activities used cash of $19.2 million for the three months ended March 31, 2020, which was primarily due to the following:</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Repayment of long-term debt of $15.0 million;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Repurchase of common stock of $7.4 million;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Dividend payments to our stockholders of $2.9 million; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Proceeds from the issuance of debt secured by our real estate of $6.8 million</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Financing activities provided cash of $4.7 million for the three months ended March 31, 2019, which was primarily due to the following:</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Proceeds from the issuances of debt secured by our equipment of $23.1 million</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Proceeds of $1.8 million from the issuance of 114,106 shares of common stock purchased by the participants in the Primoris Long-term Retention Plan</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Repayment of long-term debt of $17.2 million; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Dividend payments to our stockholders of $3.0 million;</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 63.35pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Credit Agreements</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For a description of our credit agreements, see Note 8 &#8212; &#8220;<i style="font-style:italic;">Credit Arrangements</i>&#8221; in Item 1, Financial Statements of this First Quarter 2020 Report.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Common stock</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For a discussion of items affecting our common stock, please see Note 14 &#8212; &#8220;<i style="font-style:italic;">Stockholders&#8217; Equity</i>&#8221; in Item 1, Financial Statements of this First Quarter 2020 Report.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Off-balance sheet transactions</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:11pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">We enter into certain off-balance sheet arrangements in the ordinary course of business that result in risks not directly reflected on our balance sheet. We have no off-balance sheet financing arrangement with VIEs.  The following represents transactions, obligations or relationships that could be considered material off-balance sheet arrangements.</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">At March 31, 2020, we had letters of credit outstanding of $40.0 million under the terms of our credit agreements.  These letters of credit are used by our insurance carriers to ensure reimbursement for amounts that they are disbursing on our behalf, such as beneficiaries under our self-funded insurance program.  In addition, from time to time, certain customers require us to post a letter of credit to ensure payments to our subcontractors or guarantee performance under our contracts. Letters of credit reduce our borrowing availability under our Credit Agreement and Canadian Credit Facility.  If these letters of credit were drawn on by the beneficiary, we would be required to reimburse the issuer of the letter of credit, and we may be required to record a charge to earnings for the reimbursement. As of the date of this First Quarter 2020 Report, we do not believe that it is likely that any material claims will be made under a letter of credit;</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;padding-left:27.35pt;text-indent:-27.35pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">In the ordinary course of our business, we may be required by our customers to post surety bid or completion bonds in connection with services that we provide. At March 31, 2020, we had $829.0 million in outstanding bonds.&#160; As of the date of this First Quarter 2020 Report, we do not anticipate that we would have to fund material claims under our surety arrangements; </span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;line-height:11pt;margin:0pt 0pt 0pt 63.35pt;"><span style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">Certain of our subsidiaries are parties to collective bargaining agreements with unions. In most instances, these agreements require that we contribute to multi-employer pension and health and welfare plans.  For </span></td></tr></table></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">34</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"></td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">many plans, the contributions are determined annually and required future contributions cannot be determined since contribution rates depend on the total number of union employees and actuarial calculations based on the demographics of all participants.  The Employee Retirement Income Security Act of 1974 (ERISA), as amended by the Multi-Employer Pension Amendments Act of 1980, subjects employers to potential liabilities in the event of an employer&#8217;s complete or partial withdrawal of an underfunded multi-employer pension plan.  The Pension Protection Act of 2006 added new funding rules for multi-employer plans that are classified as &#8220;endangered&#8221;, &#8220;seriously endangered&#8221;, or &#8220;critical&#8221;.  We do not currently anticipate withdrawal from any multi-employer pension plans. Withdrawal liabilities or requirements for increased future contributions could negatively impact our results of operations and liquidity;</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">We enter into employment agreements with certain employees which provide for compensation and benefits under certain circumstances and which may contain a change of control clause.  We may be obligated to make payments under the terms of these agreements; and</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">From time to time, we make other guarantees, such as guaranteeing the obligations of our subsidiaries.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;padding-left:27.35pt;text-indent:-27.35pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Effects of Inflation and Changing Prices</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our operations are affected by increases in prices, whether caused by inflation or other economic factors. We attempt to recover anticipated increases in the cost of labor, equipment, fuel and materials through price escalation provisions in certain major contracts or by considering the estimated effect of such increases when bidding or pricing new work or by entering into back-to-back contracts with suppliers and subcontractors. To date, our operations have not been materially impacted by the effects of increases in prices.</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;padding-left:27.35pt;text-indent:-27.35pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><a id="_ad88f3e7_224c_456c_9890_7fc265a7a94c"></a><a id="Item3QuantitativeandQualitativeDisclosur"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Item 3.  Quantitative and Qualitative Disclosures About Market Ris</b><b style="font-weight:bold;">k</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:11pt;text-indent:36pt;margin:0pt;">In the ordinary course of business, we are exposed to risks related to market conditions. These risks primarily include fluctuations in foreign currency exchange rates, interest rates and commodity prices. We may seek to manage these risks through the use of financial derivative instruments. These instruments may include foreign currency exchange contracts and interest rate swaps.</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Interest rate risk. </i>Our revolving credit facility and term loan bear interest at a variable rate and exposes us to interest rate risk. From time to time, we may use certain derivative instruments to hedge our exposure to variable interest rates. As of March 31, 2020, $150.6 million of our variable rate debt outstanding was economically hedged. Based on our variable rate debt outstanding as of March 31, 2020, a 1.0% increase or decrease in interest rates would change annual interest expense by approximately $0.5 million.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:11pt;text-indent:36pt;margin:0pt;">We do not execute transactions or use financial derivative instruments for trading or speculative purposes. We generally enter into transactions with counter parties that are financial institutions as a means to limit significant exposure with any one party.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_f8085644_2440_4143_9990_c0da05bc9a10"></a><a id="Item4ControlsandProcedures_103171"></a><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Item 4.  Controls and Procedure</b><b style="font-weight:bold;">s</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Disclosure Controls and Procedures</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As of March 31, 2020, we carried out an evaluation, under the supervision and with the participation of our management, including our Chief Executive Officer (&#8220;CEO&#8221;) and Chief Financial Officer (&#8220;CFO&#8221;), of the effectiveness of the design and operation of our &#8220;disclosure controls and procedures&#8221;, as such term is defined under Exchange Act Rules 13a-15(e) and 15d-15(e).</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Based on this evaluation, our CEO and CFO concluded that, at March 31, 2020, the disclosure controls and procedures were effective at the reasonable assurance level to ensure that information required to be disclosed by us in the reports we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the rules and forms of the SEC, and accumulated and communicated to our management, including our CEO and CFO, as appropriate to allow timely decisions regarding required disclosure.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In designing and evaluating the disclosure controls and procedures, our management recognized that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving the desired </p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">35</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">control objectives. In reaching a reasonable level of assurance, our management necessarily was required to apply its judgment in evaluating the cost-benefit relationship of possible controls and procedures.  Our disclosure controls and procedures are designed to provide reasonable assurance of achieving their stated objectives.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Changes in Internal Control Over Financial Reporting</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">There were no changes to our internal control over financial reporting practices or processes that materially affected, or are reasonably likely to materially affect, our internal control over financial reporting during the three months ended March 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:11pt;text-indent:36pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:5pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><a id="_447106e5_5d3d_49ef_bd66_23db4374a24b"></a><a id="PartIIOtherInformation_968498"></a><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><b style="font-weight:bold;">Part II. Other Informatio</b><b style="font-weight:bold;">n</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Item1LegalProceedings_175678"></a><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Item 1.  Legal Proceeding</b><b style="font-weight:bold;">s</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The information required for this item is provided in Note 16 &#8212; &#8220;<i style="font-style:italic;">Commitments and Contingencies</i>&#8221;, included in the unaudited notes to our condensed consolidated financial statements included under Part I of this Form 10-Q, which is incorporated herein by reference.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><a id="_71f95eef_2b14_4a59_a336_635156bf70c7"></a><a id="Item1ARiskFactors_374878"></a><p style="font-family:'Times New Roman';font-size:10pt;line-height:11pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Item 1A.  Risk Factors</b><b style="font-weight:bold;">.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">In addition to the other information set forth in this Report on Form 10-Q, you should carefully consider the factors discussed in Part I, Item 1A entitled &#8220;Risk Factors&#8221; in our most recently filed Annual Report on Form 10-K for the year ended December 31, 2019, which could materially affect our business, financial condition or future results.  The COVID-19 pandemic has heightened, and in some cases manifested, certain of the risks we normally face in operating our business, including those disclosed in our most recently filed Annual Report on Form 10-K, and the risk factor disclosure in the Form 10-K is qualified by the information relating to COVID-19 that is described in this Report, including the updated risk factor set forth below.  Except as set forth below or otherwise discussed in this Report, there have been no material changes from the risk factors previously disclosed in our most recently filed Annual Report on Form 10-K.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Our results could be adversely affected by natural disasters, public health crises, political crises, or other catastrophic events.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Natural disasters, such as hurricanes, tornadoes, floods, earthquakes, and other adverse weather and climate conditions; unforeseen public health crises, such as pandemics and epidemics; political crises, such as terrorist attacks, war, labor unrest, and other political instability; or other catastrophic events could disrupt our operations, or the operations of one or more of our vendors or customers, and could adversely affect our financial results. In particular, these types of events could impact our product supply chain from or to the impacted region and could cause our customers to delay or cancel projects, which could impact our ability to operate. In addition, these types of events could lead to general inefficiencies from having to start and stop work, re-sequencing work, requiring on-site health screenings before entering a job site, and following proper social distancing practices. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For example, in December 2019, a novel strain of coronavirus (&#8220;COVID-19&#8221;) emerged and has since extensively impacted global health and the economic environment. In an effort to contain COVID-19 or slow its spread, governments around the world have also enacted various measures, including orders to close all businesses not deemed &#8220;essential&#8221;, isolate residents to their homes or places of residence, and practice social distancing when engaging in essential activities. While our services have generally been deemed to be essential services, we have experienced project interruptions and restrictions that have delayed project timelines from those originally planned. In some cases, we have experienced temporary work stoppages, which has led to general inefficiencies from having to start and stop work, re-sequence work, require on-site health screenings before entering a job site, and follow proper social distancing practices. We have also been restricted from completing work or have been prevented from starting work on certain projects. We will continue to actively monitor the situation and may take further actions to alter our business operations that we determine are in the best interests of our employees, customers, suppliers, and stakeholders, or as required by federal, state, or local authorities. We will also continue to monitor our customers and their industries to assess the effect that changes in economic, market and regulatory conditions may have on them. Due to uncertainties regarding the duration and impact of the current COVID-19 pandemic, we are unable to predict the extent to which the COVID-19 pandemic may have a material adverse effect on our business, financial condition or results of operations.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><a id="_36cf7ac5_bb1f_4d91_8327_c3276dcfd3b0"></a></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">36</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="Item2Unregistered"></a><p style="font-family:'Times New Roman';font-size:10pt;line-height:11pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Item 2.  Unregistered Sales of Equity Securities and Use of Proceeds.</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:11pt;margin:0pt 0pt 6pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>Share repurchase activity during the three months ended March 31, 2020 was as follows:</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:23.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total Number of Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Approximate Dollar Value of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total Number</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:23.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Purchased as Part of Publicly</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares That May Yet Be Purchased</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Period</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of Shares Purchased</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Paid Per Share</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:23.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Announced Plans or Programs (1)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Under the Plans or Programs (1)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020 to January 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:21.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">February 1, 2020 to February 29, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,000,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">March 1, 2020 to March 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 461,831</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16.01</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:21.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 461,831</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,606,086</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 461,831</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,606,086</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:9pt;line-height:11pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">______________________________</b></p><p style="font-family:'Times New Roman';font-size:9pt;line-height:11pt;margin:0pt 0pt 6pt 0pt;">(1) In February 2020, our Board of Directors authorized a share repurchase program for the repurchase of up to $25.0 million of our outstanding common stock. Under the share repurchase program, we can, depending on market conditions, share price and other factors, acquire shares of our common stock on the open market or in privately negotiated transactions. In March 2020, we purchased an aggregate of 461,831 shares of our Common Stock for an aggregate purchase price of $7.4 million or $16.04 per share. As of March 31, 2020, we have $17.6 million remaining of common stock authorized to be purchased under the share repurchase program. The share repurchase plan expires on December 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><a id="_cfa61be2_a511_4ce9_9831_b382bdd89eba"></a><a id="Item6Exhibits_620240"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Item 6.  Exhibits</b><b style="font-weight:bold;">.</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following exhibits are filed as part of this Quarterly Report on Form 10-Q.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:bottom;width:9.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Exhibit<br />Number</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:88.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Description</b></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">31.1</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="prim-20200331xex31d1.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Rule 13a-14(a)/15d-14(a) Certification by the Registrant&#8217;s Chief Executive Officer (*)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="background-color:#00ff00;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">31.2</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="prim-20200331xex31d2.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Rule 13a-14(a)/15d-14(a) Certification by the Registrant&#8217;s Chief Financial Officer (*)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="background-color:#00ff00;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">32.1</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="prim-20200331xex32d1.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Section 1350 Certification by the Registrant&#8217;s Chief Executive Officer (**)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="background-color:#00ff00;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">32.2</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="prim-20200331xex32d2.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Section 1350 Certification by the Registrant&#8217;s Chief Financial Officer (**)</span></a></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="background-color:#00ff00;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">101 INS</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Inline XBRL Instance Document &#8211; The instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document (*)</p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">101 SCH</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Inline XBRL Taxonomy Extension Schema Document (*)</p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">101 CAL</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Inline XBRL Taxonomy Extension Calculation Linkbase Document (*)</p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">101 LAB</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Inline XBRL Taxonomy Extension Label Linkbase Document (*)</p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">101 PRE</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Inline XBRL Taxonomy Extension Presentation Linkbase Document (*)</p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">101 DEF</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Inline XBRL Taxonomy Extension Definition Linkbase Document (*)</p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">104</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:88.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)</p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:22.5pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">(*)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Filed herewith.</p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:22.5pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">(**) </p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Furnished herewith.</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;padding-left:22.5pt;text-indent:-22.5pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:22.5pt;"></span><span style="visibility:hidden;">&#8203;</span></p><a id="_0d7fded9_2941_40c7_83b7_5f83ea094e1d"></a></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">37</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:81.18%;border:0;margin:30pt 9.41% 30pt 9.41%;"></div><div style="max-width:100%;padding-left:9.41%;padding-right:9.41%;position:relative;"><div style="margin-top:21.6pt;min-height:36pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 30pt 0pt;"><a href="#Toc"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a><span style="color:#0563c1;">&#160;</span></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="SIGNATURES_948006"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">SIGNATURE</b><b style="font-weight:bold;">S</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">PRIMORIS SERVICES CORPORATION</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="white-space:pre-wrap;">Date:  May 4, 2020</span></p></td><td style="vertical-align:top;width:50%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">/s/ Kenneth M. Dodgen</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Kenneth M. Dodgen</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Executive Vice President, Chief Financial Officer </i></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><i style="font-style:italic;">(Principal Financial Officer)</i></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;display:table;margin-bottom:27.35pt;min-height:30.25pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">38</p></div></div></div>
<div style="background-color:#000000;clear:both;height:2pt;margin-left:9.41%;margin-right:9.41%;margin-top:30pt;page-break-after:avoid;width:81.18%;border:0;"></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>prim-20200331xex31d1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.6.0.116-->
<!--Created on: 5/4/2020 3:51:00 PM-->
<html>
	<head>
		<title>
			prim_Ex31_1
		</title>
	</head>
	<body><div style="margin-left:4.41176470588235%;margin-right:4.41176470588235%;"></div><div style="margin-left:4.41176470588235%;margin-right:4.41176470588235%;">
		<p style="margin:0pt;text-align:right;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Exhibit&nbsp;31.1</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">RULE 13a-14(a)/15d-14(a)&nbsp;CERTIFICATION PURSUANT TO</font>
		</p>
		<p style="margin:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">SECTION&nbsp;302 OF THE SARBANES-OXLEY ACT OF&nbsp;2002</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">I, Thomas E. McCormick, certify that:</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:27pt;"><p style="width:27pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 19.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> 1.</font>
			</p>
		</td><td style="width:8pt;"><p style="width:8pt;width:8pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">I have reviewed this Quarterly Report on Form&nbsp;10-Q for the period ended March 31, 2020, &nbsp;of Primoris Services Corporation;</font></p></td></tr></table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:27pt;"><p style="width:27pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 19.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> 2.</font>
			</p>
		</td><td style="width:8pt;"><p style="width:8pt;width:8pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Based on my knowledge, this Quarterly Report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this Quarterly Report;</font></p></td></tr></table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:27pt;"><p style="width:27pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 19.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> 3.</font>
			</p>
		</td><td style="width:8pt;"><p style="width:8pt;width:8pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Based on my knowledge, the financial statements, and other financial information included in this Quarterly Report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this Quarterly Report;</font></p></td></tr></table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:27pt;"><p style="width:27pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 19.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> 4.</font>
			</p>
		</td><td style="width:8pt;"><p style="width:8pt;width:8pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">The registrant&#x2019;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&nbsp;13a-15(e)&nbsp;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&nbsp;13a-15(f)&nbsp;and 15d-15(f)) for the registrant and have:</font></p></td></tr></table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (a)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this Quarterly Report is being prepared;</font></p></td></tr></table></div>
		<p style="margin:0pt 0pt 0pt 79.9pt;text-indent: -25.2pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (b)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</font></p></td></tr></table></div>
		<p style="margin:0pt 0pt 0pt 79.9pt;text-indent: -25.2pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (c)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Evaluated the effectiveness of the registrant&#x2019;s disclosure controls and procedures and presented in this Quarterly Report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this Quarterly Report based on such evaluation; and</font></p></td></tr></table></div>
		<p style="margin:0pt 0pt 0pt 79.9pt;text-indent: -25.2pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (d)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Disclosed in this Quarterly Report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font></p></td></tr></table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:27pt;"><p style="width:27pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 19.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> 5.</font>
			</p>
		</td><td style="width:8pt;"><p style="width:8pt;width:8pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">The registrant&#x2019;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#x2019;s auditors and the audit committee of the registrant&#x2019;s board of directors (or persons performing the equivalent functions):</font></p></td></tr></table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (a)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#x2019;s ability to record, process, summarize and report financial information; and</font></p></td></tr></table></div>
		<p style="margin:0pt 0pt 0pt 79.9pt;text-indent: -25.2pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (b)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#x2019;s internal control over financial reporting.</font></p></td></tr></table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:50.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:4.34pt;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;height:4.34pt;overflow: hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:50.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:4.34pt;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;height:4.34pt;overflow: hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date:&nbsp; May 4, 2020</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;border-bottom:1pt solid #000000 ;background-color: #auto;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ Thomas E. McCormick</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Thomas E. McCormick</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;font-style:italic;">President, Chief Executive Officer and Director</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;font-style:italic;">(Principal Executive Officer)</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p></div><div style="margin-left:4.41176470588235%;margin-right:4.41176470588235%;">
		<p><font size="1"> </font></p><div style="width:100%">

		<p style="margin:24pt 0pt 0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">

			<font style="display:inline;">1</font>

		</p>

</div></div><div style="margin-left:4.41176470588235%;margin-right:4.41176470588235%;page-break-after:avoid;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div>
	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>prim-20200331xex31d2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.6.0.116-->
<!--Created on: 5/4/2020 3:51:01 PM-->
<html>
	<head>
		<title>
			prim_Ex31_2
		</title>
	</head>
	<body><div style="margin-left:4.41176470588235%;margin-right:4.41176470588235%;"></div><div style="margin-left:4.41176470588235%;margin-right:4.41176470588235%;">
		<p style="margin:0pt;text-align:right;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Exhibit&nbsp;31.2</font>
		</p>
		<p style="margin:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">RULE 13a-14(a)/15d-14(a)&nbsp;CERTIFICATION PURSUANT TO</font>
		</p>
		<p style="margin:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">SECTION&nbsp;302 OF THE SARBANES-OXLEY ACT OF&nbsp;2002</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">I, Kenneth M. Dodgen, certify that:</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:27pt;"><p style="width:27pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 19.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> 1.</font>
			</p>
		</td><td style="width:8pt;"><p style="width:8pt;width:8pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">I have reviewed this Quarterly Report on Form&nbsp;10-Q for the period ended March 31, 2020, of Primoris Services Corporation;</font></p></td></tr></table></div>
		<p style="margin:0pt 0pt 0pt 54.7pt;text-indent: -27.35pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:27pt;"><p style="width:27pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 19.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> 2.</font>
			</p>
		</td><td style="width:8pt;"><p style="width:8pt;width:8pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Based on my knowledge, this Quarterly Report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this Quarterly Report;</font></p></td></tr></table></div>
		<p style="margin:0pt 0pt 0pt 54.7pt;text-indent: -27.35pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:27pt;"><p style="width:27pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 19.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> 3.</font>
			</p>
		</td><td style="width:8pt;"><p style="width:8pt;width:8pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Based on my knowledge, the financial statements, and other financial information included in this Quarterly Report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this Quarterly Report;</font></p></td></tr></table></div>
		<p style="margin:0pt 0pt 0pt 54.7pt;text-indent: -27.35pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:27pt;"><p style="width:27pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 19.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> 4.</font>
			</p>
		</td><td style="width:8pt;"><p style="width:8pt;width:8pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">The registrant&#x2019;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&nbsp;13a-15(e)&nbsp;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&nbsp;13a-15(f)&nbsp;and 15d-15(f)) for the registrant and have:</font></p></td></tr></table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (a)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this Quarterly Report is being prepared;</font></p></td></tr></table></div>
		<p style="margin:0pt 0pt 0pt 79.9pt;text-indent: -25.2pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (b)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</font></p></td></tr></table></div>
		<p style="margin:0pt 0pt 0pt 79.9pt;text-indent: -25.2pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (c)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Evaluated the effectiveness of the registrant&#x2019;s disclosure controls and procedures and presented in this Quarterly Report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this Quarterly Report based on such evaluation; and</font></p></td></tr></table></div>
		<p style="margin:0pt 0pt 0pt 79.9pt;text-indent: -25.2pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (d)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Disclosed in this Quarterly Report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font></p></td></tr></table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:27pt;"><p style="width:27pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 19.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> 5.</font>
			</p>
		</td><td style="width:8pt;"><p style="width:8pt;width:8pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">The registrant&#x2019;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#x2019;s auditors and the audit committee of the registrant&#x2019;s board of directors (or persons performing the equivalent functions):</font></p></td></tr></table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (a)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#x2019;s ability to record, process, summarize and report financial information; and</font></p></td></tr></table></div>
		<p style="margin:0pt 0pt 0pt 79.9pt;text-indent: -25.2pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%"><table style="width:100%;" cellpadding="0" cellspacing="0"><tr><td style="width:54pt;"><p style="width:54pt;font-size:0pt;"></p></td><td valign="top" align="left" style="width: 23.00pt;">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
				<font style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size:10pt;;"> (b)</font>
			</p>
		</td><td style="width:2pt;"><p style="width:2pt;width:2pt;font-size:0pt;"></p></td><td align="left" valign="top">
			<p style="line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;margin:0pt;">
			<font style="display:inline;color:#000000;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#x2019;s internal control over financial reporting.</font></p></td></tr></table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:50.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:50.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date:&nbsp; May 4, 2020</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;border-bottom:1pt solid #000000 ;background-color: #auto;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ Kenneth M. Dodgen</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Kenneth M. Dodgen</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;font-style:italic;">Executive Vice President, Chief Financial Officer</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;font-style:italic;">(Principal Financial Officer)</font></p>
				</td>
				<td valign="top" style="width:50.00%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p></div><div style="margin-left:4.41176470588235%;margin-right:4.41176470588235%;">
		<p><font size="1"> </font></p><div style="width:100%">

		<p style="margin:24pt 0pt 0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">

			<font style="display:inline;">1</font>

		</p>

</div></div><div style="margin-left:4.41176470588235%;margin-right:4.41176470588235%;page-break-after:avoid;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div>
	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>prim-20200331xex32d1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.6.0.116-->
<!--Created on: 5/4/2020 3:51:02 PM-->
<html>
	<head>
		<title>
			prim_Ex32_1
		</title>
	</head>
	<body><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;"></div><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;">
		<p style="margin:0pt;text-align:right;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Exhibit&nbsp;32.1</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Certification Pursuant to Section&nbsp;906</font>
		</p>
		<p style="margin:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">of the Sarbanes-Oxley Act of 2002 (18 U.S.C. Section&nbsp;1350)</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt;text-indent:36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">In connection with the Quarterly Report of Primoris Services Corporation (the &#x201C;Company&#x201D;) on Form&nbsp;10-Q for the period ended March 31, 2020, as filed with the Securities and Exchange Commission on the date hereof (the &#x201C;Report&#x201D;),&nbsp;I, David L. King, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section&nbsp;1350, as adopted pursuant to Section&nbsp;906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge:</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt 0pt 0pt 67.7pt;text-indent: -31.7pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">1.<font style="display:inline;;font-size: 10pt;font-family:Times New Roman,Times,serif;text-indent:0pt;margin-left:0pt;padding:0pt 25pt 0pt 0pt;"></font></font><font style="display:inline;font-size:3pt;"></font><font style="display:inline;">The Report fully complies with the requirements of Section&nbsp;13(a)&nbsp;or 15(d)&nbsp;of the Securities Exchange Act of 1934; and</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt 0pt 0pt 67.7pt;text-indent: -31.7pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">2.<font style="display:inline;;font-size: 10pt;font-family:Times New Roman,Times,serif;text-indent:0pt;margin-left:0pt;padding:0pt 25pt 0pt 0pt;"></font></font><font style="display:inline;font-size:3pt;"></font><font style="display:inline;">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt;text-indent:36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">In witness whereof, the undersigned has executed and delivered this certificate as of the date set forth opposite his signature below.</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:50.08%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.92%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.08%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date:&nbsp; May 4, 2020</font></p>
				</td>
				<td valign="top" style="width:49.92%;border-bottom:1pt solid #000000 ;background-color: #auto;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ Thomas E. McCormick</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.08%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.92%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Thomas E. McCormick</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.08%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.92%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;font-style:italic;">President, Chief Executive Officer and Director</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:50.08%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.92%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;font-style:italic;">(Principal Executive Officer)</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p></div><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;">
		<p><font size="1"> </font></p><div style="width:100%">

		<p style="margin:24pt 0pt 0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">

			<font style="display:inline;">1</font>

		</p>

</div></div><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;page-break-after:avoid;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div>
	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>5
<FILENAME>prim-20200331xex32d2.htm
<DESCRIPTION>EX-32.2
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.6.0.116-->
<!--Created on: 5/4/2020 3:51:03 PM-->
<html>
	<head>
		<title>
			prim_Ex32_2
		</title>
	</head>
	<body><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;"></div><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;">
		<p style="margin:0pt;text-align:right;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Exhibit&nbsp;32.2</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Certification Pursuant to Section&nbsp;906</font>
		</p>
		<p style="margin:0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">of the Sarbanes-Oxley Act of 2002 (18 U.S.C. Section&nbsp;1350)</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt;text-indent:36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">In connection with the Quarterly Report of Primoris Services Corporation (the &#x201C;Company&#x201D;) on Form&nbsp;10-Q for the period ended March 31, 2020, as filed with the Securities and Exchange Commission on the date hereof (the &#x201C;Report&#x201D;),&nbsp;I, Kenneth M. Dodgen, Executive Vice President, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section&nbsp;1350, as adopted pursuant to Section&nbsp;906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge:</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt 0pt 0pt 76.5pt;text-indent: -22.5pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">1.<font style="display:inline;;font-size: 10pt;font-family:Times New Roman,Times,serif;text-indent:0pt;margin-left:0pt;padding:0pt 16pt 0pt 0pt;"></font></font><font style="display:inline;font-size:3pt;"></font><font style="display:inline;">The Report fully complies with the requirements of Section&nbsp;13(a)&nbsp;or 15(d)&nbsp;of the Securities Exchange Act of 1934; and</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt 0pt 0pt 76.5pt;text-indent: -22.5pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">2.<font style="display:inline;;font-size: 10pt;font-family:Times New Roman,Times,serif;text-indent:0pt;margin-left:0pt;padding:0pt 16pt 0pt 0pt;"></font></font><font style="display:inline;font-size:3pt;"></font><font style="display:inline;">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt;text-indent:36pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">In witness whereof, the undersigned has executed and delivered this certificate as of the date set forth opposite his signature below.</font>
		</p>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:46.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:53.70%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:46.30%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date:&nbsp; May 4, 2020</font></p>
				</td>
				<td valign="top" style="width:53.70%;border-bottom:1pt solid #000000 ;background-color: #auto;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ Kenneth M. Dodgen</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:46.30%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:53.70%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Kenneth M. Dodgen</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:46.30%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:53.70%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;font-style:italic;">Executive Vice President, Chief Financial Officer</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:46.30%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:53.70%;padding:0pt;">
					<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;font-style:italic;">(Principal Financial Officer)</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p></div><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;">
		<p><font size="1"> </font></p><div style="width:100%">

		<p style="margin:24pt 0pt 0pt;text-align:center;line-height:100%;font-family:Times New Roman,Times,serif;font-size: 10pt;">

			<font style="display:inline;">1</font>

		</p>

</div></div><div style="margin-left:10.2941176470588%;margin-right:10.2941176470588%;page-break-after:avoid;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div>
	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>prim-20200504.xsd
<DESCRIPTION>EX-101.SCH
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.6.7401.38943 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/4/2020 9:51:27 PM-->
<!--Modified on: 5/4/2020 9:51:27 PM-->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.primoriscorp.com/20200504" xmlns:attributeFormDefault="unqualified" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:prim="http://www.primoriscorp.com/20200504" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:negated="http://www.xbrl.org/2009/role/negated">
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" id="StatementConsolidatedBalanceSheets">
        <link:definition>00100 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" id="StatementConsolidatedStatementsOfIncome">
        <link:definition>00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome" id="StatementConsolidatedStatementsOfComprehensiveLossIncome">
        <link:definition>00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" id="StatementConsolidatedStatementsOfCashFlows">
        <link:definition>00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" id="DisclosureRevenueContractAssetsDetails">
        <link:definition>40503 - Disclosure - Revenue - Contract assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" id="DisclosureRevenueContractLiabilitiesDetails">
        <link:definition>40504 - Disclosure - Revenue - Contract liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" id="DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails">
        <link:definition>40602 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" id="DisclosureAccountsPayableAndAccruedLiabilitiesDetails">
        <link:definition>40701 - Disclosure - Accounts Payable and Accrued Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" id="DisclosureCreditArrangementsDetails">
        <link:definition>40801 - Disclosure - Credit Arrangements (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2" id="DisclosureCreditArrangementsDetailsCal2">
        <link:definition>40901 - Disclosure - Credit Arrangements (Details) - Cal2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" id="DisclosureDividendsAndEarningsPerShareDetails">
        <link:definition>41301 - Disclosure - Dividends and Earnings Per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" id="DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails">
        <link:definition>41501 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation">
        <link:definition>00090 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical" id="StatementConsolidatedBalanceSheetsParenthetical">
        <link:definition>00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" id="StatementConsolidatedStatementsOfStockholdersEquity">
        <link:definition>00400 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquityParenthetical" id="StatementConsolidatedStatementsOfStockholdersEquityParenthetical">
        <link:definition>00405 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureNatureOfBusiness" id="DisclosureNatureOfBusiness">
        <link:definition>10101 - Disclosure - Nature of Business</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureRecentAccountingPronouncements" id="DisclosureRecentAccountingPronouncements">
        <link:definition>10301 - Disclosure - Recent Accounting Pronouncements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureFairValueMeasurements" id="DisclosureFairValueMeasurements">
        <link:definition>10401 - Disclosure - Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets" id="DisclosureGoodwillAndIntangibleAssets">
        <link:definition>10601 - Disclosure - Goodwill and Intangible Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities" id="DisclosureAccountsPayableAndAccruedLiabilities">
        <link:definition>10701 - Disclosure - Accounts Payable and Accrued Liabilities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangements" id="DisclosureCreditArrangements">
        <link:definition>10801 - Disclosure - Credit Arrangements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureNoncontrollingInterests" id="DisclosureNoncontrollingInterests">
        <link:definition>11001 - Disclosure - Noncontrolling Interests</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureStockBasedCompensation" id="DisclosureStockBasedCompensation">
        <link:definition>11101 - Disclosure - Stock-Based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes">
        <link:definition>11201 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare" id="DisclosureDividendsAndEarningsPerShare">
        <link:definition>11301 - Disclosure - Dividends and Earnings Per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureStockholdersEquity" id="DisclosureStockholdersEquity">
        <link:definition>11401 - Disclosure - Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies" id="DisclosureCommitmentsAndContingencies">
        <link:definition>11601 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureReportableSegments" id="DisclosureReportableSegments">
        <link:definition>11701 - Disclosure - Reportable Segments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureSubsequentEvent" id="DisclosureSubsequentEvent">
        <link:definition>11801 - Disclosure - Subsequent Event</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables" id="DisclosureFairValueMeasurementsTables">
        <link:definition>30403 - Disclosure - Fair Value Measurements (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" id="DisclosureGoodwillAndIntangibleAssetsTables">
        <link:definition>30603 - Disclosure - Goodwill and Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables" id="DisclosureAccountsPayableAndAccruedLiabilitiesTables">
        <link:definition>30703 - Disclosure - Accounts Payable and Accrued Liabilities (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables" id="DisclosureCreditArrangementsTables">
        <link:definition>30803 - Disclosure - Credit Arrangements (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsTables" id="DisclosureNoncontrollingInterestsTables">
        <link:definition>31003 - Disclosure - Noncontrolling Interests (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureStockBasedCompensationTables" id="DisclosureStockBasedCompensationTables">
        <link:definition>31103 - Disclosure - Stock-Based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables" id="DisclosureDividendsAndEarningsPerShareTables">
        <link:definition>31303 - Disclosure - Dividends and Earnings Per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables" id="DisclosureReportableSegmentsTables">
        <link:definition>31703 - Disclosure - Reportable Segments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails" id="DisclosureNatureOfBusinessDetails">
        <link:definition>40101 - Disclosure - Nature of Business (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" id="DisclosureBasisOfPresentationDetails">
        <link:definition>40201 - Disclosure - Basis of Presentation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" id="DisclosureFairValueMeasurementsDetails">
        <link:definition>40401 - Disclosure - Fair Value Measurements (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" id="DisclosureRevenuePerformanceObligationsDetails">
        <link:definition>40501 - Disclosure - Revenue - Performance obligations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details" id="DisclosureRevenuePerformanceObligations2020Details">
        <link:definition>40502 - Disclosure - Revenue - Performance obligations - 2020 (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020DefaultDetails" id="DisclosureRevenuePerformanceObligations2020DefaultDetails">
        <link:definition>40502 - Disclosure - Revenue - Performance obligations - 2020 Default (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" id="DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails">
        <link:definition>40505 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" id="DisclosureGoodwillAndIntangibleAssetsGoodwillDetails">
        <link:definition>40601 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" id="DisclosureCreditArrangementsNarrativeDetails">
        <link:definition>40802 - Disclosure - Credit Arrangements - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" id="DisclosureDerivativeInstrumentsDetails">
        <link:definition>40901 - Disclosure - Derivative Instruments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" id="DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails">
        <link:definition>40902 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails" id="DisclosureNoncontrollingInterestsDetails">
        <link:definition>41001 - Disclosure - Noncontrolling Interests (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" id="DisclosureStockBasedCompensationRestrictedStockUnitsDetails">
        <link:definition>41101 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" id="DisclosureIncomeTaxesDetails">
        <link:definition>41201 - Disclosure - Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails" id="DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails">
        <link:definition>41302 - Disclosure - Dividends and Earnings Per Share - Anti-dilutive shares (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" id="DisclosureStockholdersEquityDetails">
        <link:definition>41401 - Disclosure - Stockholders' Equity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails" id="DisclosureCommitmentsAndContingenciesLegalDetails">
        <link:definition>41601 - Disclosure - Commitments and Contingencies - Legal (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" id="DisclosureReportableSegmentsDetails">
        <link:definition>41701 - Disclosure - Reportable Segments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" id="DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails">
        <link:definition>41702 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails" id="DisclosureSubsequentEventsDetails">
        <link:definition>41801 - Disclosure - Subsequent Events (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureBasisOfPresentation" id="DisclosureBasisOfPresentation">
        <link:definition>10201 - Disclosure - Basis of Presentation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureRevenue" id="DisclosureRevenue">
        <link:definition>10501 - Disclosure - Revenue</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureDerivativeInstruments" id="DisclosureDerivativeInstruments">
        <link:definition>10901 - Disclosure - Derivative Instruments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureLeases" id="DisclosureLeases">
        <link:definition>11501 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureRevenueTables" id="DisclosureRevenueTables">
        <link:definition>30503 - Disclosure - Revenue (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables" id="DisclosureDerivativeInstrumentsTables">
        <link:definition>30903 - Disclosure - Derivative Instruments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureLeasesTables" id="DisclosureLeasesTables">
        <link:definition>31503 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" id="DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails">
        <link:definition>41502 - Disclosure - Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="prim-20200504_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="prim-20200504_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="prim-20200504_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="prim-20200504_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple" />
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/dei/2019-01-31" schemaLocation="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <import namespace="http://fasb.org/us-roles/2019-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd" xmlns="http://www.w3.org/2001/XMLSchema" />
  <import namespace="http://fasb.org/us-gaap/2019-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd" xmlns="http://www.w3.org/2001/XMLSchema" />
  <import namespace="http://fasb.org/srt/2019-01-31" schemaLocation="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element abstract="true" id="prim_NatureOfBusinessLineItems" name="NatureOfBusinessLineItems" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="prim_JamesConstructionGroupLLCMember" name="JamesConstructionGroupLLCMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="prim_TopTenCustomersMember" name="TopTenCustomersMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="prim_CreditFacilityWithCanadianBankMember" name="CreditFacilityWithCanadianBankMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="false" id="prim_DividendsAndEarningsPerShareDisclosureTextBlock" name="DividendsAndEarningsPerShareDisclosureTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration" />
  <element id="prim_ConcentrationRiskNumberOfTopCustomers" name="ConcentrationRiskNumberOfTopCustomers" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue" name="ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers" name="ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element abstract="false" id="prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements" name="IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="prim_StockholdersEquityLineItems" name="StockholdersEquityLineItems" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="false" id="prim_BondsIssuedAndOutstanding" name="BondsIssuedAndOutstanding" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <element id="prim_RevenuePercentage" name="RevenuePercentage" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_GrossProfitAsPercentageOfSegmentRevenue" name="GrossProfitAsPercentageOfSegmentRevenue" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ConcentrationRiskNumberOfCustomers" name="ConcentrationRiskNumberOfCustomers" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants" name="DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element abstract="true" id="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember" name="CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="false" id="prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff" name="DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="prim_EquityIncentivePlan2013Member" name="EquityIncentivePlan2013Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <element id="prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock" name="ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element id="prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock" name="ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration" />
  <element id="prim_AccruedDividendEquivalentUnits" name="AccruedDividendEquivalentUnits" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element abstract="true" id="prim_NonUnitedStatesMember" name="NonUnitedStatesMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember" name="NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="prim_LongTermRetentionPlanMember" name="LongTermRetentionPlanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="prim_ScheduleOfNatureOfBusinessTable" name="ScheduleOfNatureOfBusinessTable" nillable="true" substitutionGroup="xbrldt:hypercubeItem" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <element id="prim_TotalAssetsPercentage" name="TotalAssetsPercentage" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest" name="EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_CarlsbadConstructorsJointVentureMember" name="CarlsbadConstructorsJointVentureMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum" name="IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum" name="IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_DividendEquivalentUnitsValue" name="DividendEquivalentUnitsValue" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts" name="LitigationSettlementPaymentsByDefendantsInExpectedCosts" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_LitigationCostsCodefendantPercentage" name="LitigationCostsCodefendantPercentage" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_LitigationCostsCompanyPercentage" name="LitigationCostsCompanyPercentage" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_LitigationSettlementExpectedRemediationCost" name="LitigationSettlementExpectedRemediationCost" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_LitigationSettlementRemainingAccrualBalance" name="LitigationSettlementRemainingAccrualBalance" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ShareBasedCompensationAwardTrancheFourMember" name="ShareBasedCompensationAwardTrancheFourMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_DividendsAndEarningsPerShareAbstract" name="DividendsAndEarningsPerShareAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_PIAndESegmentMember" name="PIAndESegmentMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_PAndUSegmentMember" name="PAndUSegmentMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_UAndDSegmentMember" name="UAndDSegmentMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_CivilSegmentMember" name="CivilSegmentMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member" name="CommercialEquipmentFinancingDueJune2018ToAugust2022Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_LitigationSettlementRemediationExpense" name="LitigationSettlementRemediationExpense" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_LitigationSettlementIncreaseInLiability" name="LitigationSettlementIncreaseInLiability" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent" name="IncreaseDecreaseInContractWithCustomerAssetNetCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ContractWithCustomerAssetTableTextBlock" name="ContractWithCustomerAssetTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ContractWithCustomerLiabilityTableTextBlock" name="ContractWithCustomerLiabilityTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage" name="RevenueRemainingPerformanceObligationExpectedTimingPercentage" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent" name="ContractWithCustomerLiabilityAccruedLossProvisionCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent" name="IncreaseDecreaseInContractWithCustomerLiabilityCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_MasterServiceAgreementCustomersMember" name="MasterServiceAgreementCustomersMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_NonMasterServiceAgreementCustomersMember" name="NonMasterServiceAgreementCustomersMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_UnitPriceContractsMember" name="UnitPriceContractsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_CostReimbursableContractsMember" name="CostReimbursableContractsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ContractWithCustomerLiabilityModificationOfContract" name="ContractWithCustomerLiabilityModificationOfContract" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ContractWithCustomerLiabilityDeferredRevenueCurrent" name="ContractWithCustomerLiabilityDeferredRevenueCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ContractWithCustomerAccountsPayableDueToSubcontractors" name="ContractWithCustomerAccountsPayableDueToSubcontractors" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_UtilityTransmissionAndDistributionMember" name="UtilityTransmissionAndDistributionMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_PotentialIncreasePerAccordionFeature" name="PotentialIncreasePerAccordionFeature" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" name="InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_NumberOfInstrumentsUsedForTrading" name="NumberOfInstrumentsUsedForTrading" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan" name="AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_LesseeOperatingLeaseLiabilityTableTextBlock" name="LesseeOperatingLeaseLiabilityTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities" name="IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_ContingentConsiderationAssetFairValue" name="ContingentConsiderationAssetFairValue" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_PipelineCustomerMember" name="PipelineCustomerMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="prim_CanadianCreditFacilityCibcMember" name="CanadianCreditFacilityCibcMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>prim-20200504_cal.xml
<DESCRIPTION>EX-101.CAL
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.6.7401.38943 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/4/2020 9:51:27 PM-->
<!--Modified on: 5/4/2020 9:51:27 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedStatementsOfIncome" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedStatementsOfComprehensiveLossIncome" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenueContractAssetsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenueContractLiabilitiesDetails" roleURI="http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureAccountsPayableAndAccruedLiabilitiesDetails" roleURI="http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureCreditArrangementsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureCreditArrangementsDetailsCal2" roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDividendsAndEarningsPerShareDetails" roleURI="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" roleURI="http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <calculationLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_637242258829195060" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent_637242258829195060" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_637242258829195060" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637242258829195060" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_637242258829195060" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent_637242258829195060" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637242258829195060" xlink:to="us-gaap_ReceivablesNetCurrent_637242258829195060" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_637242258829195060" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637242258829195060" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_637242258829195060" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637242258829195060" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637242258829195060" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637242258829195060" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_637242258829195060" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_637242258829195060" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_637242258829195060" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_637242258829195060" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_637242258829195060" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_637242258829195060" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_637242258829205056" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_637242258829205056" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_637242258829205056" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Goodwill_637242258829205056" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_637242258829205056" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_637242258829205056" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_637242258829205056" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_637242258829205056" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_637242258829205056" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637242258829205056" xlink:to="us-gaap_LiabilitiesCurrent_637242258829205056" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_637242258829205056" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637242258829205056" xlink:to="us-gaap_AccountsPayableCurrent_637242258829205056" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_637242258829205056" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637242258829205056" xlink:to="us-gaap_AccruedLiabilitiesCurrent_637242258829205056" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsPayableCurrent" xlink:label="us-gaap_DividendsPayableCurrent_637242258829215050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637242258829205056" xlink:to="us-gaap_DividendsPayableCurrent_637242258829215050" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_637242258829215050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637242258829205056" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_637242258829215050" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_637242258829215050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637242258829205056" xlink:to="us-gaap_LongTermDebtCurrent_637242258829215050" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_637242258829215050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637242258829205056" xlink:to="us-gaap_LongTermDebtNoncurrent_637242258829215050" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_637242258829215050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637242258829205056" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_637242258829215050" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_637242258829215050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637242258829205056" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_637242258829215050" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_637242258829215050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637242258829205056" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_637242258829215050" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258829225045" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258829225045" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_637242258829225045" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258829225045" xlink:to="us-gaap_CommonStockValue_637242258829225045" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_637242258829225045" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258829225045" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_637242258829225045" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637242258829225045" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258829225045" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637242258829225045" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_637242258829225045" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258829225045" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_637242258829225045" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_637242258829225045" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258829225045" xlink:to="us-gaap_MinorityInterest_637242258829225045" order="5" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637242258829235047" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_ProfitLoss_637242258829235047" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637242258829235047" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_637242258829235047" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637242258829235047" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_637242258829235047" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637242258829235047" xlink:to="us-gaap_OperatingIncomeLoss_637242258829235047" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_637242258829235047" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_637242258829235047" xlink:to="us-gaap_GrossProfit_637242258829235047" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258829235047" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_637242258829235047" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258829235047" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_637242258829235047" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_637242258829235047" xlink:to="us-gaap_CostOfGoodsAndServicesSold_637242258829235047" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_637242258829235047" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_637242258829235047" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_637242258829235047" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_637242258829245049" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637242258829235047" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_637242258829245049" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_637242258829245049" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637242258829235047" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_637242258829245049" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet_637242258829245049" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637242258829235047" xlink:to="us-gaap_InvestmentIncomeNet_637242258829245049" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_637242258829245049" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637242258829235047" xlink:to="us-gaap_InterestExpense_637242258829245049" order="5" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_637242258829245049" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_637242258829235047" xlink:to="us-gaap_IncomeTaxExpenseBenefit_637242258829245049" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637242258829245049" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637242258829245049" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637242258829245049" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637242258829245049" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637242258829255059" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637242258829255059" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637242258829255059" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637242258829255059" xlink:to="us-gaap_ProfitLoss_637242258829255059" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_637242258829255059" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637242258829255059" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_637242258829255059" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637242258829255059" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_ProfitLoss_637242258829255059" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_637242258829255059" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_DepreciationDepletionAndAmortization_637242258829255059" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrealizedGainLossOnDerivatives" xlink:label="us-gaap_UnrealizedGainLossOnDerivatives_637242258829255059" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_UnrealizedGainLossOnDerivatives_637242258829255059" order="3" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_637242258829255059" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_ShareBasedCompensation_637242258829255059" order="4" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNoncashExpense" xlink:label="us-gaap_OtherNoncashExpense_637242258829255059" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_OtherNoncashExpense_637242258829255059" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_637242258829265050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_637242258829265050" order="6" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="us-gaap_IncreaseDecreaseInReceivables_637242258829265050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_IncreaseDecreaseInReceivables_637242258829265050" order="7" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_637242258829265050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets_637242258829265050" order="8" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_637242258829265050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_637242258829265050" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_637242258829265050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_637242258829265050" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637242258829265050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637242258829265050" order="11" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_637242258829265050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_637242258829265050" order="12" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_637242258829265050" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_637242258829265050" order="13" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities" xlink:label="prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities_637242258829275048" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities_637242258829275048" order="14" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_637242258829275048" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258829255059" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_637242258829275048" order="15" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_637242258829275048" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_637242258829275048" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_637242258829275048" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637242258829275048" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_637242258829275048" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_637242258829275048" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637242258829275048" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_637242258829275048" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258829275048" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258829275048" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit_637242258829275048" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258829275048" xlink:to="us-gaap_ProceedsFromLinesOfCredit_637242258829275048" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_637242258829285046" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258829275048" xlink:to="us-gaap_RepaymentsOfLinesOfCredit_637242258829285046" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_637242258829285046" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258829275048" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt_637242258829285046" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_637242258829285046" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258829275048" xlink:to="us-gaap_RepaymentsOfLongTermDebt_637242258829285046" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_637242258829285046" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258829275048" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_637242258829285046" order="5" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_637242258829285046" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258829275048" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_637242258829285046" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_637242258829285046" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258829275048" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_637242258829285046" order="7" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_637242258829295044" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258829275048" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_637242258829295044" order="8" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637242258829295044" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637242258829295044" order="4" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" xlink:type="extended" xlink:title="40503 - Disclosure - Revenue - Contract assets (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractReceivableRetainage" xlink:label="us-gaap_ContractReceivableRetainage_637242258829295044" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractReceivableRetainage_637242258829295044" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryForLongTermContractsOrPrograms" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms_637242258829295044" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_InventoryForLongTermContractsOrPrograms_637242258829295044" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_637242258829295044" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_UnbilledReceivablesCurrent_637242258829295044" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" xlink:type="extended" xlink:title="40504 - Disclosure - Revenue - Contract liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent" xlink:label="prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent_637242258829305055" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent_637242258829305055" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerLiabilityDeferredRevenueCurrent" xlink:label="prim_ContractWithCustomerLiabilityDeferredRevenueCurrent_637242258829305055" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="prim_ContractWithCustomerLiabilityDeferredRevenueCurrent_637242258829305055" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" xlink:type="extended" xlink:title="40602 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_637242258829305055" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_637242258829305055" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_637242258829305055" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_637242258829305055" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_637242258829305055" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_637242258829305055" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_637242258829305055" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_637242258829305055" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_637242258829305055" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_637242258829305055" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_637242258829315058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_637242258829315058" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" xlink:type="extended" xlink:title="40701 - Disclosure - Accounts Payable and Accrued Liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_637242258829315058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_637242258829315058" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_637242258829315058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_637242258829315058" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedInsuranceCurrent" xlink:label="us-gaap_AccruedInsuranceCurrent_637242258829315058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedInsuranceCurrent_637242258829315058" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent_637242258829315058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_TaxesPayableCurrent_637242258829315058" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_637242258829315058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_637242258829315058" order="5" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" xlink:type="extended" xlink:title="40801 - Disclosure - Credit Arrangements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_637242258829325058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtCurrent_637242258829325058" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_637242258829325058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtNoncurrent_637242258829325058" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2" xlink:type="extended" xlink:title="40901 - Disclosure - Credit Arrangements (Details) - Cal2" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount_637242258829325058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_DebtInstrumentCarryingAmount_637242258829325058" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense_637242258829325058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense_637242258829325058" order="2" use="optional" weight="-1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" xlink:type="extended" xlink:title="41301 - Disclosure - Dividends and Earnings Per Share (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637242258829325058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637242258829325058" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements" xlink:label="prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements_637242258829325058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements_637242258829325058" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_637242258829325058" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_637242258829325058" order="3" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" xlink:type="extended" xlink:title="41501 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_637242258829335066" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_637242258829335066" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_637242258829335066" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_637242258829335066" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>prim-20200504_def.xml
<DESCRIPTION>EX-101.DEF
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.6.7401.38943 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/4/2020 9:51:27 PM-->
<!--Modified on: 5/4/2020 9:51:27 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <roleRef xlink:type="simple" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd#eedm" roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureNatureOfBusinessDetails" roleURI="http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureBasisOfPresentationDetails" roleURI="http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureFairValueMeasurementsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenuePerformanceObligations2020Details" roleURI="http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenuePerformanceObligations2020DefaultDetails" roleURI="http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020DefaultDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" roleURI="http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" roleURI="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureCreditArrangementsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureCreditArrangementsNarrativeDetails" roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDerivativeInstrumentsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureNoncontrollingInterestsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureStockBasedCompensationRestrictedStockUnitsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails" roleURI="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureStockholdersEquityDetails" roleURI="http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" roleURI="http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureCommitmentsAndContingenciesLegalDetails" roleURI="http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureReportableSegmentsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" roleURI="http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureSubsequentEventsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple" />
  <definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended" xlink:title="Extensible Enumeration Domain Members" xmlns="http://www.xbrl.org/2003/linkbase" />
  <definitionLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_637242258829335066" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_637242258829335066" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_NoncontrollingInterestMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssued" xlink:label="us-gaap_SharesIssued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_SharesIssued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DividendEquivalentUnitsValue" xlink:label="prim_DividendEquivalentUnitsValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="prim_DividendEquivalentUnitsValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsCommonStockCash" xlink:label="us-gaap_DividendsCommonStockCash" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_DividendsCommonStockCash" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails" xlink:type="extended" xlink:title="40101 - Disclosure - Nature of Business (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ScheduleOfNatureOfBusinessTable" xlink:label="prim_ScheduleOfNatureOfBusinessTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="prim_ScheduleOfNatureOfBusinessTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_637242258829395045" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain_637242258829395045" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CarlsbadConstructorsJointVentureMember" xlink:label="prim_CarlsbadConstructorsJointVentureMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="prim_CarlsbadConstructorsJointVentureMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NatureOfBusinessLineItems" xlink:label="prim_NatureOfBusinessLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="prim_NatureOfBusinessLineItems" xlink:to="prim_ScheduleOfNatureOfBusinessTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="prim_NatureOfBusinessLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="prim_NatureOfBusinessLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" xlink:type="extended" xlink:title="40201 - Disclosure - Basis of Presentation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_637242258829565073" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_637242258829565073" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_637242258829565073" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_637242258829565073" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_MajorCustomersAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_637242258829575075" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_637242258829575075" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_TopTenCustomersMember" xlink:label="prim_TopTenCustomersMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="prim_TopTenCustomersMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PipelineCustomerMember" xlink:label="prim_PipelineCustomerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="prim_PipelineCustomerMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskNumberOfTopCustomers" xlink:label="prim_ConcentrationRiskNumberOfTopCustomers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="prim_ConcentrationRiskNumberOfTopCustomers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue" xlink:label="prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers" xlink:label="prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskNumberOfCustomers" xlink:label="prim_ConcentrationRiskNumberOfCustomers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="prim_ConcentrationRiskNumberOfCustomers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Fair Value Measurements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_637242258829595076" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_637242258829595076" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_637242258829595076" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain_637242258829595076" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_637242258829595076" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_637242258829595076" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel1Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel2Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel3Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="us-gaap_AssetsFairValueDisclosureAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_AssetsFairValueDisclosureAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsFairValueDisclosureAbstract" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContingentConsiderationAssetFairValue" xlink:label="prim_ContingentConsiderationAssetFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsFairValueDisclosureAbstract" xlink:to="prim_ContingentConsiderationAssetFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsFairValueDisclosureAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="us-gaap_LiabilitiesFairValueDisclosureAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosureAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiability" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiability" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationAssetAbstract" xlink:label="us-gaap_BusinessCombinationContingentConsiderationAssetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationAssetAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationAsset" xlink:label="us-gaap_BusinessCombinationContingentConsiderationAsset" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessCombinationContingentConsiderationAssetAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationAsset" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details" xlink:type="extended" xlink:title="40502 - Disclosure - Revenue - Performance obligations - 2020 (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage" xlink:label="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020DefaultDetails" xlink:type="extended" xlink:title="40502 - Disclosure - Revenue - Performance obligations - 2020 Default (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage" xlink:label="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" xlink:type="extended" xlink:title="40505 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_637242258829635080" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain_637242258829635080" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PIAndESegmentMember" xlink:label="prim_PIAndESegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_PIAndESegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PAndUSegmentMember" xlink:label="prim_PAndUSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_PAndUSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UAndDSegmentMember" xlink:label="prim_UAndDSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_UAndDSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UtilityTransmissionAndDistributionMember" xlink:label="prim_UtilityTransmissionAndDistributionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_UtilityTransmissionAndDistributionMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CivilSegmentMember" xlink:label="prim_CivilSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_CivilSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_MajorCustomersAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_MasterServiceAgreementCustomersMember" xlink:label="prim_MasterServiceAgreementCustomersMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="prim_MasterServiceAgreementCustomersMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NonMasterServiceAgreementCustomersMember" xlink:label="prim_NonMasterServiceAgreementCustomersMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="prim_NonMasterServiceAgreementCustomersMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerBasisOfPricingAxis" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ContractWithCustomerBasisOfPricingAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerBasisOfPricingDomain" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingAxis" xlink:to="us-gaap_ContractWithCustomerBasisOfPricingDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerBasisOfPricingDomain" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingDomain_637242258829645066" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingAxis" xlink:to="us-gaap_ContractWithCustomerBasisOfPricingDomain_637242258829645066" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FixedPriceContractMember" xlink:label="us-gaap_FixedPriceContractMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingDomain" xlink:to="us-gaap_FixedPriceContractMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UnitPriceContractsMember" xlink:label="prim_UnitPriceContractsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingDomain" xlink:to="prim_UnitPriceContractsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CostReimbursableContractsMember" xlink:label="prim_CostReimbursableContractsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingDomain" xlink:to="prim_CostReimbursableContractsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PIAndESegmentMember" xlink:label="prim_PIAndESegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_PIAndESegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PAndUSegmentMember" xlink:label="prim_PAndUSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_PAndUSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UAndDSegmentMember" xlink:label="prim_UAndDSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_UAndDSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UtilityTransmissionAndDistributionMember" xlink:label="prim_UtilityTransmissionAndDistributionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_UtilityTransmissionAndDistributionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CivilSegmentMember" xlink:label="prim_CivilSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_CivilSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_ScheduleOfGoodwillTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" xlink:type="extended" xlink:title="40602 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637242258829665076" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637242258829665076" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="us-gaap_OtherIntangibleAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_OtherIntangibleAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" xlink:type="extended" xlink:title="40801 - Disclosure - Credit Arrangements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_637242258829695064" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain_637242258829695064" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LoansPayableMember" xlink:label="us-gaap_LoansPayableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_LoansPayableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member" xlink:label="prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MortgagesMember" xlink:label="us-gaap_MortgagesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_MortgagesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentCarryingAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LettersOfCreditOutstandingAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" xlink:type="extended" xlink:title="40802 - Disclosure - Credit Arrangements - Narrative (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_637242258829715074" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain_637242258829715074" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember" xlink:label="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LoansPayableMember" xlink:label="us-gaap_LoansPayableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember" xlink:to="us-gaap_LoansPayableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CreditFacilityWithCanadianBankMember" xlink:label="prim_CreditFacilityWithCanadianBankMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="prim_CreditFacilityWithCanadianBankMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CanadianCreditFacilityCibcMember" xlink:label="prim_CanadianCreditFacilityCibcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="prim_CanadianCreditFacilityCibcMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LetterOfCreditMember" xlink:label="us-gaap_LetterOfCreditMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_LetterOfCreditMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637242258829725079" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_637242258829725079" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtWeightedAverageInterestRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PotentialIncreasePerAccordionFeature" xlink:label="prim_PotentialIncreasePerAccordionFeature" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="prim_PotentialIncreasePerAccordionFeature" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" xlink:label="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LettersOfCreditOutstandingAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff" xlink:label="prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Derivative Instruments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NumberOfInstrumentsUsedForTrading" xlink:label="prim_NumberOfInstrumentsUsedForTrading" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:to="prim_NumberOfInstrumentsUsedForTrading" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilityNotionalAmount" xlink:label="us-gaap_DerivativeLiabilityNotionalAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:to="us-gaap_DerivativeLiabilityNotionalAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" xlink:label="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:to="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan" xlink:label="prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:to="prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" xlink:type="extended" xlink:title="40902 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_637242258829765077" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain_637242258829765077" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:to="us-gaap_IncomeStatementLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_637242258829765077" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain_637242258829765077" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpenseMember" xlink:label="us-gaap_InterestExpenseMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_InterestExpenseMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="us-gaap_DerivativeLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:to="us-gaap_DerivativeLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLossOnDerivative" xlink:label="us-gaap_DerivativeLossOnDerivative" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:to="us-gaap_DerivativeLossOnDerivative" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails" xlink:type="extended" xlink:title="41001 - Disclosure - Noncontrolling Interests (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestTable" xlink:label="us-gaap_MinorityInterestTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis" xlink:label="us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_MinorityInterestTable" xlink:to="us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ClassificationOfVariableInterestEntityDomain" xlink:label="us-gaap_ClassificationOfVariableInterestEntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis" xlink:to="us-gaap_ClassificationOfVariableInterestEntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ClassificationOfVariableInterestEntityDomain" xlink:label="us-gaap_ClassificationOfVariableInterestEntityDomain_637242258829785089" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis" xlink:to="us-gaap_ClassificationOfVariableInterestEntityDomain_637242258829785089" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CarlsbadConstructorsJointVentureMember" xlink:label="prim_CarlsbadConstructorsJointVentureMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ClassificationOfVariableInterestEntityDomain" xlink:to="prim_CarlsbadConstructorsJointVentureMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_MinorityInterestTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="prim_CarlsbadConstructorsJointVentureMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestLineItems" xlink:label="us-gaap_MinorityInterestLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_MinorityInterestTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PartnersCapitalAccountDistributions" xlink:label="us-gaap_PartnersCapitalAccountDistributions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_PartnersCapitalAccountDistributions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_ProceedsFromMinorityShareholders" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_Cash" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_ReceivablesNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueFromAffiliateNoncurrent" xlink:label="us-gaap_DueFromAffiliateNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_DueFromAffiliateNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_AccountsPayableCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" xlink:type="extended" xlink:title="41101 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_637242258829815085" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_637242258829815085" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_ExecutiveOfficerMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_637242258829815085" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_637242258829815085" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_EquityIncentivePlan2013Member" xlink:label="prim_EquityIncentivePlan2013Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="prim_EquityIncentivePlan2013Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637242258829815085" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637242258829815085" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_VestingAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain_637242258829825080" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain_637242258829825080" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheThreeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheThreeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ShareBasedCompensationAwardTrancheFourMember" xlink:label="prim_ShareBasedCompensationAwardTrancheFourMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_VestingDomain" xlink:to="prim_ShareBasedCompensationAwardTrancheFourMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_AccruedDividendEquivalentUnits" xlink:label="prim_AccruedDividendEquivalentUnits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="prim_AccruedDividendEquivalentUnits" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails" xlink:type="extended" xlink:title="41302 - Disclosure - Dividends and Earnings Per Share - Anti-dilutive shares (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_637242258829855078" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_637242258829855078" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_EquityIncentivePlan2013Member" xlink:label="prim_EquityIncentivePlan2013Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="prim_EquityIncentivePlan2013Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" xlink:type="extended" xlink:title="41401 - Disclosure - Stockholders' Equity (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LongTermRetentionPlanMember" xlink:label="prim_LongTermRetentionPlanMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="prim_LongTermRetentionPlanMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_EquityIncentivePlan2013Member" xlink:label="prim_EquityIncentivePlan2013Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PlanNameDomain" xlink:to="prim_EquityIncentivePlan2013Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_StockholdersEquityLineItems" xlink:label="prim_StockholdersEquityLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="prim_StockholdersEquityLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:label="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="prim_StockholdersEquityLineItems" xlink:to="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants" xlink:label="prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:to="prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_AccruedDividendEquivalentUnits" xlink:label="prim_AccruedDividendEquivalentUnits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:to="prim_AccruedDividendEquivalentUnits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAbstract" xlink:label="us-gaap_TreasuryStockSharesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="prim_StockholdersEquityLineItems" xlink:to="us-gaap_TreasuryStockSharesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TreasuryStockSharesAbstract" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_TreasuryStockSharesAbstract" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_TreasuryStockSharesAbstract" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_TreasuryStockSharesAbstract" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" xlink:type="extended" xlink:title="41501 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseRenewalTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseCostAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_OperatingLeaseCost" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_OperatingLeaseLiability" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails" xlink:type="extended" xlink:title="41601 - Disclosure - Commitments and Contingencies - Legal (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LossContingenciesTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain_637242258829925078" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain_637242258829925078" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SuretyBondMember" xlink:label="us-gaap_SuretyBondMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="us-gaap_SuretyBondMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_LossContingenciesTable" xlink:to="us-gaap_BusinessAcquisitionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_637242258829925078" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_637242258829925078" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_JamesConstructionGroupLLCMember" xlink:label="prim_JamesConstructionGroupLLCMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="prim_JamesConstructionGroupLLCMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_LossContingenciesTable" xlink:to="srt_LitigationCaseAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_637242258829945072" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain_637242258829945072" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember" xlink:label="prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_LossContingenciesTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts" xlink:label="prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:label="us-gaap_LitigationSettlementAmountAwardedToOtherParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LitigationSettlementAmountAwardedToOtherParty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationCostsCodefendantPercentage" xlink:label="prim_LitigationCostsCodefendantPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="prim_LitigationCostsCodefendantPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationCostsCompanyPercentage" xlink:label="prim_LitigationCostsCompanyPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="prim_LitigationCostsCompanyPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementRemainingAccrualBalance" xlink:label="prim_LitigationSettlementRemainingAccrualBalance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="prim_LitigationSettlementRemainingAccrualBalance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementExpectedRemediationCost" xlink:label="prim_LitigationSettlementExpectedRemediationCost" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="prim_LitigationSettlementExpectedRemediationCost" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_BondsIssuedAndOutstanding" xlink:label="prim_BondsIssuedAndOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="prim_BondsIssuedAndOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementIncreaseInLiability" xlink:label="prim_LitigationSettlementIncreaseInLiability" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="prim_LitigationSettlementIncreaseInLiability" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementRemediationExpense" xlink:label="prim_LitigationSettlementRemediationExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="prim_LitigationSettlementRemediationExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" xlink:type="extended" xlink:title="41701 - Disclosure - Reportable Segments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PIAndESegmentMember" xlink:label="prim_PIAndESegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_PIAndESegmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PAndUSegmentMember" xlink:label="prim_PAndUSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_PAndUSegmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UAndDSegmentMember" xlink:label="prim_UAndDSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_UAndDSegmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UtilityTransmissionAndDistributionMember" xlink:label="prim_UtilityTransmissionAndDistributionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_UtilityTransmissionAndDistributionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CivilSegmentMember" xlink:label="prim_CivilSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentDomain" xlink:to="prim_CivilSegmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_RevenuePercentage" xlink:label="prim_RevenuePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="prim_RevenuePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_GrossProfitAsPercentageOfSegmentRevenue" xlink:label="prim_GrossProfitAsPercentageOfSegmentRevenue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="prim_GrossProfitAsPercentageOfSegmentRevenue" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" xlink:type="extended" xlink:title="41702 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_637242258830005097" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_637242258830005097" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NonUnitedStatesMember" xlink:label="prim_NonUnitedStatesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="prim_NonUnitedStatesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_RevenuePercentage" xlink:label="prim_RevenuePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="prim_RevenuePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_TotalAssetsPercentage" xlink:label="prim_TotalAssetsPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="prim_TotalAssetsPercentage" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails" xlink:type="extended" xlink:title="41801 - Disclosure - Subsequent Events (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_637242258830015095" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain_637242258830015095" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsCashAbstract" xlink:label="us-gaap_DividendsCashAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_DividendsCashAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DividendsCashAbstract" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared" priority="1" use="optional" />
  </definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>prim-20200504_lab.xml
<DESCRIPTION>EX-101.LAB
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.6.7401.38943 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/4/2020 9:51:27 PM-->
<!--Modified on: 5/4/2020 9:51:27 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document and Entity Information</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Type</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Quarterly Report</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Transition Report</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Period End Date</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity File Number</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Registrant Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Incorporation, State or Country Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Tax Identification Number</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Address Line One</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, City or Town</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, State or Province</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Postal Zip Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">City Area Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Local Phone Number</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Current Reporting Status</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Interactive Data Current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Filer Category</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Small Business</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Emerging Growth Company</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Shell Company</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Title of 12(b) Security</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trading Symbol</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Security Exchange Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Common Stock, Shares Outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Central Index Key</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current Fiscal Year End Date</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Fiscal Year Focus</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Fiscal Period Focus</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amendment Flag</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED BALANCE SHEETS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ASSETS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current assets:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, at Carrying Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesNetCurrent" xlink:to="us-gaap_ReceivablesNetCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivables, Net, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReceivablesNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ReceivablesNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset, Net, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid Expense and Other Assets, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property and equipment, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Right-of-Use Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible Assets, Net (Excluding Goodwill)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible assets, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Assets, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other long-term assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities and Equity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LIABILITIES AND STOCKHOLDERS' EQUITY</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current liabilities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts payable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total accrued liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsPayableCurrent" xlink:label="us-gaap_DividendsPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrent" xlink:to="us-gaap_DividendsPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendsPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends payable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Current Maturities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: current portion</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current portion of long-term debt</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Excluding Current Maturities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term debt, net of current portion</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncurrent operating lease liabilities, net of current portion</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Net, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Liabilities, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other long-term liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and contingencies (See Note 16)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' equity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Value, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common stock-$.0001 par value; 90,000,000 shares authorized; 48,254,575 and 48,665,138 issued and outstanding at March 31, 2020 and December 31, 2019, respectively</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid in Capital, Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional paid-in capital</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings (Accumulated Deficit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained earnings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income (Loss), Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated other comprehensive (loss) income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling interest</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total stockholders' equity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities and Equity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total liabilities and stockholders' equity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Variable Interest Entities [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityLineItems" xlink:label="us-gaap_VariableInterestEntityLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_VariableInterestEntityLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_VariableInterestEntityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">VIEs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Par or Stated Value Per Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common stock, par value (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares Authorized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common stock, shares authorized</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common stock, shares issued</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares, Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common stock, shares outstanding</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF INCOME</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from Contract with Customer, Excluding Assessed Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of Services, Excluding Depreciation, Depletion, and Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross profit</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling, General and Administrative Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling, general and administrative expenses</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Income (Loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonoperating Income (Expense) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other income (expense):</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Currency Transaction Gain (Loss), before Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange (loss) gain</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Nonoperating Income (Expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other income (expense), net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeNet" xlink:to="us-gaap_InvestmentIncomeNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentIncomeNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment Income, Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentIncomeNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">(Loss) income before provision for income taxes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for income taxes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net (loss) income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net (loss) income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less net income attributable to noncontrolling interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income attributable to noncontrolling interests</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Available to Common Stockholders, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net (loss) income attributable to Primoris</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net (loss) income attributable to Primoris</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareDeclared" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Dividends, Per Share, Declared</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends per common share (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash dividend declared (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">(Loss) earnings per share:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basic (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basic earnings per share (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted earnings per share (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average common shares outstanding:</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Denominator:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basic (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average shares for computation of basic earnings per share</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average shares for computation of diluted (loss) earnings per share</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other comprehensive (loss) income, net of tax:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency translation adjustments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency translation adjustments, net of tax</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive (loss) income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive (loss) income attributable to Primoris</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Stockholders' Equity [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Stockholders' Equity Roll Forward</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssued" xlink:label="us-gaap_SharesIssued" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssued" xlink:to="us-gaap_SharesIssued_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance (in shares)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value Issued to Employees and Directors</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of shares to employees and/or directors</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares of common stock issued as a part of quarterly compensation of non-employee members of the Board of Directors</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of shares to employees and/or directors (in shares)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to Additional Paid in Capital, Share-based Compensation, Restricted Stock Unit or Restricted Stock Award, Requisite Service Period Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of Restricted Stock Units</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DividendEquivalentUnitsValue" xlink:label="prim_DividendEquivalentUnitsValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_DividendEquivalentUnitsValue" xlink:to="prim_DividendEquivalentUnitsValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_DividendEquivalentUnitsValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the value of Dividend Equivalent Units, as defined in the Equity Plan, that have accrued.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_DividendEquivalentUnitsValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividend Equivalent Units Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_DividendEquivalentUnitsValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividend equivalent Units accrued - Restricted Stock Units</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchased During Period, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of stock</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchased During Period, Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of stock (in shares)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Distribution of noncontrolling entities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsCommonStockCash" xlink:label="us-gaap_DividendsCommonStockCash" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCommonStockCash" xlink:to="us-gaap_DividendsCommonStockCash_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsCommonStockCash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends, Common Stock, Cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DividendsCommonStockCash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends declared</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF CASH FLOWS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash flows from operating activities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to reconcile net (loss) income to net cash used in operating activities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation, Depletion and Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation and amortization</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock-based compensation expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Disposition of Property Plant Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on sale of property and equipment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrealizedGainLossOnDerivatives" xlink:label="us-gaap_UnrealizedGainLossOnDerivatives" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrealizedGainLossOnDerivatives" xlink:to="us-gaap_UnrealizedGainLossOnDerivatives_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrealizedGainLossOnDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized Gain (Loss) on Derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrealizedGainLossOnDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized loss on interest rate swap</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNoncashExpense" xlink:label="us-gaap_OtherNoncashExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncashExpense" xlink:to="us-gaap_OtherNoncashExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNoncashExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Noncash Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherNoncashExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-cash items</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Operating Capital [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes in assets and liabilities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="us-gaap_IncreaseDecreaseInReceivables" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInReceivables" xlink:to="us-gaap_IncreaseDecreaseInReceivables_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInReceivables_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Receivables</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInReceivables_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Contract with Customer, Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Current Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Noncurrent Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other long-term assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts payable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Contract with Customer, Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract liabilities</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities" xlink:label="prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities" xlink:to="prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of increase (decrease) in operating lease assets and liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase Decrease in Operating Lease Assets and Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease assets and liabilities, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accrued Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Noncurrent Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other long-term liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Operating Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash used in operating activities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash flows from investing activities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase of property and equipment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale of Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from sale of property and equipment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Investing Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash used in investing activities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash flows from financing activities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromLinesOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Lines of Credit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromLinesOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Borrowings under revolving line of credit</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLinesOfCredit" xlink:to="us-gaap_RepaymentsOfLinesOfCredit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Lines of Credit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments on revolving line of credit</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Issuance of Long-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from issuance of long-term debt</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Long-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of long-term debt</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Issuance of Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from issuance of common stock purchased under a long-term incentive plan</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for Repurchase of Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of common stock</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividendsCommonStock" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments of Ordinary Dividends, Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends paid</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from (Payments for) Other Financing Activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Financing Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash (used in) provided by financing activities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of exchange rate changes on cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net change in cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents at end of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents at beginning of the year</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental Cash Flow Information [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Paid</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash paid for interest</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes Paid</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash paid for income taxes, net of refunds received</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leased assets obtained in exchange for new operating leases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncash Investing and Financing Items [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends declared and not yet paid</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nature of Business</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NatureOfOperations" xlink:to="us-gaap_NatureOfOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nature of Operations [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nature of Business</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of Presentation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of Presentation and Significant Accounting Policies [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of Presentation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recent Accounting Pronouncements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements and Changes in Accounting Principles [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recent Accounting Pronouncements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Disclosures [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from Contract with Customer [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill and Intangible Assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill and Intangible Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill and Intangible Assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Payable and Accrued Liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Payable and Accrued Liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Arrangements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Arrangements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments and Hedging Activities Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestAbstract" xlink:to="us-gaap_NoncontrollingInterestAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interests</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDisclosureTextBlock" xlink:to="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interests</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock-Based Compensation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of Compensation Related Costs, Share-based Payments [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock-Based Compensation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DividendsAndEarningsPerShareAbstract" xlink:label="prim_DividendsAndEarningsPerShareAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_DividendsAndEarningsPerShareAbstract" xlink:to="prim_DividendsAndEarningsPerShareAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_DividendsAndEarningsPerShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">No definition available.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_DividendsAndEarningsPerShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends and Earnings Per Share</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DividendsAndEarningsPerShareDisclosureTextBlock" xlink:label="prim_DividendsAndEarningsPerShareDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_DividendsAndEarningsPerShareDisclosureTextBlock" xlink:to="prim_DividendsAndEarningsPerShareDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_DividendsAndEarningsPerShareDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure for dividends paid or declared and earnings per share.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_DividendsAndEarningsPerShareDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends and Earnings Per Share Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_DividendsAndEarningsPerShareDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends and Earnings Per Share</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="us-gaap_StockholdersEquityNoteAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_StockholdersEquityNoteAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity Note Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeasesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Leases [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies.</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reportable Segments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reportable Segments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Events.</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Events [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Events</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:to="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of financial assets and liabilities which are required to be measured at fair value</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerAssetTableTextBlock" xlink:label="prim_ContractWithCustomerAssetTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ContractWithCustomerAssetTableTextBlock" xlink:to="prim_ContractWithCustomerAssetTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ContractWithCustomerAssetTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of contract assets balances and changes in contract assets balances.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ContractWithCustomerAssetTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ContractWithCustomerAssetTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of contract assets</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerLiabilityTableTextBlock" xlink:label="prim_ContractWithCustomerLiabilityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ContractWithCustomerLiabilityTableTextBlock" xlink:to="prim_ContractWithCustomerLiabilityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ContractWithCustomerLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of contract liabilities balances and changes in contract liabilities balances.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ContractWithCustomerLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ContractWithCustomerLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of contract liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of revenue disaggregation by various categories</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Goodwill by Reporting Unit [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of goodwill by reporting unit</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Finite-Lived Intangible Assets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of intangible asset categories, amounts and the average amortization periods</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of estimated future amortization expense for intangible assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Accrued Liabilities [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of accrued liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Long-term Debt Instruments [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of long-term debt and credit facilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Derivative Assets at Fair Value [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of fair values of our derivative contracts included in the Condensed Consolidated Balance Sheets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments, Gain (Loss) [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of derivative instruments within the Condensed Consolidated Statements of Income</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock" xlink:label="prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock" xlink:to="prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of operating activities of the variable interest entity (VIE) included in the entity's consolidated income statement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Operating Activities of Variable Interest Entities Included in Consolidated Income Statement [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of joint venture operating activities included in the Company's consolidated statements of income</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock" xlink:label="prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock" xlink:to="prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the carrying value of the assets and liabilities of the variable interest entity (VIE) included in the entity's consolidated financial statements.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Carrying Value of Assets and Liabilities of Variable Interest Entities Included in Consolidated Financial Statements [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of the carrying value of the assets and liabilities included in the Company's consolidated balance sheets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of units activity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsDeclaredTableTextBlock" xlink:label="us-gaap_DividendsDeclaredTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsDeclaredTableTextBlock" xlink:to="us-gaap_DividendsDeclaredTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsDeclaredTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends Declared [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendsDeclaredTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of cash dividends paid or declared</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of computation of basic and diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease, Cost [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of components of lease expense</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LesseeOperatingLeaseLiabilityTableTextBlock" xlink:label="prim_LesseeOperatingLeaseLiabilityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_LesseeOperatingLeaseLiabilityTableTextBlock" xlink:to="prim_LesseeOperatingLeaseLiabilityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_LesseeOperatingLeaseLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The tabular disclosure of operating lease liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_LesseeOperatingLeaseLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee Operating Lease Liability [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_LesseeOperatingLeaseLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Segment Reporting Information, by Segment [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of revenue and gross profit by segment</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ScheduleOfNatureOfBusinessTable" xlink:label="prim_ScheduleOfNatureOfBusinessTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ScheduleOfNatureOfBusinessTable" xlink:to="prim_ScheduleOfNatureOfBusinessTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ScheduleOfNatureOfBusinessTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Nature of Business [Table]</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NatureOfBusinessLineItems" xlink:label="prim_NatureOfBusinessLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_NatureOfBusinessLineItems" xlink:to="prim_NatureOfBusinessLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_NatureOfBusinessLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nature of Business [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_NatureOfBusinessLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nature of Business</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Reportable Segments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of reportable segments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of Ownership Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership interest (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer concentration</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskNumberOfTopCustomers" xlink:label="prim_ConcentrationRiskNumberOfTopCustomers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ConcentrationRiskNumberOfTopCustomers" xlink:to="prim_ConcentrationRiskNumberOfTopCustomers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ConcentrationRiskNumberOfTopCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">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.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ConcentrationRiskNumberOfTopCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk, Number of Top Customers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ConcentrationRiskNumberOfTopCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of top customers</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue" xlink:label="prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue" xlink:to="prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of calendar years in which top customers typically generate minimum specified percentage of revenue.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk, Number of Calendar Years in which Top Customers Generate Specified Percentage of Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of calendar years in which top customers typically generate minimum specified percentage of revenue</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers" xlink:label="prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers" xlink:to="prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the minimum percentage of revenue typically generated by specified number of customers in any one calendar year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk, Minimum Percentage of Revenues Generated by Specified Number of Top Customers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum percentage of revenues generated by top ten customers</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk, Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of concentration risk</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskNumberOfCustomers" xlink:label="prim_ConcentrationRiskNumberOfCustomers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ConcentrationRiskNumberOfCustomers" xlink:to="prim_ConcentrationRiskNumberOfCustomers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ConcentrationRiskNumberOfCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of customers who typically contribute accounts receivable in excess of a specified percentage.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ConcentrationRiskNumberOfCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk, Number of Customers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ConcentrationRiskNumberOfCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of customers</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements, Recurring and Nonrecurring [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Measurement Frequency [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurement Frequency [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Measurement Frequency [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsRecurringMember" xlink:to="us-gaap_FairValueMeasurementsRecurringMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements Recurring [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recurring</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Hierarchy [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements Fair Value Hierarchy [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Hierarchy [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel1Member" xlink:to="us-gaap_FairValueInputsLevel1Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Inputs Level1 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Quoted Prices in Active Markets for Identical Assets (Level 1)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel3Member" xlink:to="us-gaap_FairValueInputsLevel3Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Inputs Level3 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Significant Unobservable Inputs (Level 3)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value measurements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="us-gaap_AssetsFairValueDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsFairValueDisclosureAbstract" xlink:to="us-gaap_AssetsFairValueDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsFairValueDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets, Fair Value Disclosure [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsFairValueDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, Fair Value Disclosure</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContingentConsiderationAssetFairValue" xlink:label="prim_ContingentConsiderationAssetFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ContingentConsiderationAssetFairValue" xlink:to="prim_ContingentConsiderationAssetFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ContingentConsiderationAssetFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value of contingent consideration asset.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ContingentConsiderationAssetFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingent Consideration Asset, Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ContingentConsiderationAssetFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingent consideration</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in contingent consideration</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="us-gaap_LiabilitiesFairValueDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:to="us-gaap_LiabilitiesFairValueDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesFairValueDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities, Fair Value Disclosure [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesFairValueDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Liability, Fair Value, Gross Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative liability</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationAssetAbstract" xlink:label="us-gaap_BusinessCombinationContingentConsiderationAssetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationAssetAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationAssetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationContingentConsiderationAssetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Contingent Consideration, Asset [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationContingentConsiderationAssetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingent consideration</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationAsset" xlink:label="us-gaap_BusinessCombinationContingentConsiderationAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationAsset" xlink:to="us-gaap_BusinessCombinationContingentConsiderationAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationContingentConsiderationAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Contingent Consideration, Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationContingentConsiderationAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnout</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue expected timing</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Remaining performance obligations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod" xlink:label="us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod" xlink:to="us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Performance Obligation Satisfied in Previous Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue recognized from performance obligations satisfied in previous periods</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerLiabilityModificationOfContract" xlink:label="prim_ContractWithCustomerLiabilityModificationOfContract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ContractWithCustomerLiabilityModificationOfContract" xlink:to="prim_ContractWithCustomerLiabilityModificationOfContract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ContractWithCustomerLiabilityModificationOfContract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of contract modifications included in the expected contract value.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ContractWithCustomerLiabilityModificationOfContract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Modification of Contract</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ContractWithCustomerLiabilityModificationOfContract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of contract modifications included in the expected contract value.</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract" xlink:label="us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract" xlink:to="us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset, Cumulative Catch-up Adjustment to Revenue, Modification of Contract</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of unapproved contract modifications recognized as revenue on a cumulative catch-up basis</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 1</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage" xlink:label="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage" xlink:to="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of revenue to be recognized on performance obligations for the period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue Remaining Performance Obligation Expected Timing Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of remaining performance obligation expected to be recognized in period</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnbilledReceivablesCurrent" xlink:to="us-gaap_UnbilledReceivablesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unbilled Receivables, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unbilled revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractReceivableRetainage" xlink:label="us-gaap_ContractReceivableRetainage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractReceivableRetainage" xlink:to="us-gaap_ContractReceivableRetainage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractReceivableRetainage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Receivable Retainage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractReceivableRetainage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retention receivable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryForLongTermContractsOrPrograms" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryForLongTermContractsOrPrograms" xlink:to="us-gaap_InventoryForLongTermContractsOrPrograms_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory for Long-term Contracts or Programs, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract materials (not yet installed)</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent" xlink:label="prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent" xlink:to="prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of increase (decrease) in contract with customer asset net current.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Contract with Customer Asset Net Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (decrease) in contract assets</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerLiabilityDeferredRevenueCurrent" xlink:label="prim_ContractWithCustomerLiabilityDeferredRevenueCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ContractWithCustomerLiabilityDeferredRevenueCurrent" xlink:to="prim_ContractWithCustomerLiabilityDeferredRevenueCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ContractWithCustomerLiabilityDeferredRevenueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of obligation before accrued loss provision on transfer good or service to customer for which consideration has been received or is receivable, classified as current.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ContractWithCustomerLiabilityDeferredRevenueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Deferred Revenue, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ContractWithCustomerLiabilityDeferredRevenueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred revenue</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent" xlink:label="prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent" xlink:to="prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued loss provision component of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer Liability Accrued Loss Provision Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued loss provision</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent" xlink:label="prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent" xlink:to="prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of increase (decrease) in contract with customers liability current.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Contract with Customer Liability Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Decrease in contract liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Revenue Recognized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue recognized included in contract liability at beginning of period</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_ScheduleOfGoodwillTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfGoodwillTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Goodwill [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Finite-Lived Intangible Assets [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets by Major Class [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite Lived Intangible Assets Major Class Name [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeNamesMember" xlink:to="us-gaap_TradeNamesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeNamesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trade Names [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradeNamesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tradename</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer Relationships [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer relationships</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncompeteAgreementsMember" xlink:to="us-gaap_NoncompeteAgreementsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncompete Agreements [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-compete agreements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Asset, Useful Life</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Life</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Carrying Amount</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Accumulated Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Amortization</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of Intangible Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization expense of intangible assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Estimated future amortization expense for intangible assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020 (remaining nine months)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerAccountsPayableDueToSubcontractors" xlink:label="prim_ContractWithCustomerAccountsPayableDueToSubcontractors" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ContractWithCustomerAccountsPayableDueToSubcontractors" xlink:to="prim_ContractWithCustomerAccountsPayableDueToSubcontractors_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ContractWithCustomerAccountsPayableDueToSubcontractors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount due to subcontractors and retained pending contract completion and customer acceptance of jobs included in accounts payable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ContractWithCustomerAccountsPayableDueToSubcontractors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Accounts Payable, Due to Subcontractors</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ContractWithCustomerAccountsPayableDueToSubcontractors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retention amounts included in accounts payable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:label="us-gaap_AccruedLiabilitiesCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Liabilities, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedLiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee-related Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payroll and related employee benefits</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current operating lease liability</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedInsuranceCurrent" xlink:label="us-gaap_AccruedInsuranceCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedInsuranceCurrent" xlink:to="us-gaap_AccruedInsuranceCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedInsuranceCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Insurance, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedInsuranceCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Casualty insurance reserves</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Taxes Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Corporate income taxes and other taxes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Accrued Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Long-term Debt Instruments [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit arrangements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_DebtInstrumentCarryingAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total debt</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnamortizedDebtIssuanceExpense" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unamortized Debt Issuance Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unamortized debt issuance costs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total debt, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LettersOfCreditOutstandingAmount" xlink:to="us-gaap_LettersOfCreditOutstandingAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Letters of Credit Outstanding, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Letters of credit outstanding</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Domain]</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember" xlink:label="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember" xlink:to="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the credit agreement with Private Bank, Bank of the West and IBERIABANK Corporation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility With Private Bank Bank Of West And I B E R I A B A N K Corporation [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Agreement</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CreditFacilityWithCanadianBankMember" xlink:label="prim_CreditFacilityWithCanadianBankMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_CreditFacilityWithCanadianBankMember" xlink:to="prim_CreditFacilityWithCanadianBankMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_CreditFacilityWithCanadianBankMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to credit facility with a Canadian bank.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_CreditFacilityWithCanadianBankMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility With Canadian Bank [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_CreditFacilityWithCanadianBankMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Credit Facility</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CanadianCreditFacilityCibcMember" xlink:label="prim_CanadianCreditFacilityCibcMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_CanadianCreditFacilityCibcMember" xlink:to="prim_CanadianCreditFacilityCibcMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_CanadianCreditFacilityCibcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian credit facility with CIBC bank.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_CanadianCreditFacilityCibcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Credit Facility Cibc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_CanadianCreditFacilityCibcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Working Capital Credit Facility</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongtermDebtTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_LongtermDebtTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongtermDebtTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Longterm Debt Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongtermDebtTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revolving Credit Facility [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revolving Credit Facility</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LetterOfCreditMember" xlink:label="us-gaap_LetterOfCreditMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LetterOfCreditMember" xlink:to="us-gaap_LetterOfCreditMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LetterOfCreditMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Letter Of Credit [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LetterOfCreditMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commercial letters of credit</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_RangeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtWeightedAverageInterestRate" xlink:to="us-gaap_DebtWeightedAverageInterestRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtWeightedAverageInterestRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt, Weighted Average Interest Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtWeightedAverageInterestRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Maximum Borrowing Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum borrowing capacity</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PotentialIncreasePerAccordionFeature" xlink:label="prim_PotentialIncreasePerAccordionFeature" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_PotentialIncreasePerAccordionFeature" xlink:to="prim_PotentialIncreasePerAccordionFeature_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_PotentialIncreasePerAccordionFeature_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount that the debt instrument can increase per the accordian feature.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_PotentialIncreasePerAccordionFeature_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Potential Increase per Accordion Feature</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_PotentialIncreasePerAccordionFeature_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Potential increase per the agreement</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" xlink:label="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" xlink:to="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of debt outstanding in which the interest rate was effectively exchanged</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Rate Swap Agreement, Percentage Of Debt Outstanding In Which Interest Exchanged</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate swap agreement</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Notional amount interest rate</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Amount Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Borrowings outstanding</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff" xlink:label="prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff" xlink:to="prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the restrictions on investments, change of control provisions and provisions, expressed as a percentage of total assets to be disposed off as per the financial covenant.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Covenant Restrictions on Investments Change of Control Provisions as Percentage of Total Assets to be Disposed Off</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restrictions on investments, change of control provisions and provisions as a percentage of total assets to be disposed off</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Remaining Borrowing Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Available borrowing capacity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments and Hedging Activities Disclosures [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments and Hedging Activities Disclosures [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NumberOfInstrumentsUsedForTrading" xlink:label="prim_NumberOfInstrumentsUsedForTrading" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_NumberOfInstrumentsUsedForTrading" xlink:to="prim_NumberOfInstrumentsUsedForTrading_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_NumberOfInstrumentsUsedForTrading_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of instruments used for trading.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_NumberOfInstrumentsUsedForTrading_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number Of Instruments Used For Trading</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_NumberOfInstrumentsUsedForTrading_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Instruments used for trading</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilityNotionalAmount" xlink:label="us-gaap_DerivativeLiabilityNotionalAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeLiabilityNotionalAmount" xlink:to="us-gaap_DerivativeLiabilityNotionalAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeLiabilityNotionalAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Liability, Notional Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeLiabilityNotionalAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Notional Amount</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan" xlink:label="prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan" xlink:to="prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of principal payment on term loan, which is adjusted down each quarter to arrive at the notional amount of the swap.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjusted Notional Amount, Percentage Of Principal Payments On Term Loan</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Notional amount adjustment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="us-gaap_DerivativeLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeLiabilities" xlink:to="us-gaap_DerivativeLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liability Derivatives</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLossOnDerivative" xlink:label="us-gaap_DerivativeLossOnDerivative" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeLossOnDerivative" xlink:to="us-gaap_DerivativeLossOnDerivative_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeLossOnDerivative_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative, Loss on Derivative</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeLossOnDerivative_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of Loss Recognized on Derivatives</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestTable" xlink:label="us-gaap_MinorityInterestTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestTable" xlink:to="us-gaap_MinorityInterestTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestLineItems" xlink:label="us-gaap_MinorityInterestLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestLineItems" xlink:to="us-gaap_MinorityInterestLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MinorityInterestLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interests</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PartnersCapitalAccountDistributions" xlink:label="us-gaap_PartnersCapitalAccountDistributions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PartnersCapitalAccountDistributions" xlink:to="us-gaap_PartnersCapitalAccountDistributions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PartnersCapitalAccountDistributions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Partners' Capital Account, Distributions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PartnersCapitalAccountDistributions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Distributions to partners</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromMinorityShareholders" xlink:to="us-gaap_ProceedsFromMinorityShareholders_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Noncontrolling Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital contributions</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueFromAffiliateNoncurrent" xlink:label="us-gaap_DueFromAffiliateNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueFromAffiliateNoncurrent" xlink:to="us-gaap_DueFromAffiliateNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueFromAffiliateNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due from Affiliate, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DueFromAffiliateNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due from Primoris</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Plan Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Plan Name [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PlanNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Plan Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_EquityIncentivePlan2013Member" xlink:label="prim_EquityIncentivePlan2013Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_EquityIncentivePlan2013Member" xlink:to="prim_EquityIncentivePlan2013Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_EquityIncentivePlan2013Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This element represents the 2013 Equity Incentive Plan of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_EquityIncentivePlan2013Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Incentive Plan2013 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_EquityIncentivePlan2013Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Plan</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Award Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangements By Share Based Payment Award Award Type And Plan Name [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Award [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Stock Units R S U [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Stock Units</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock-based compensation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Granted, Units</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Units granted</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber" xlink:to="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of vested equity instruments other than options outstanding.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding Vested, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of vested units</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" xlink:to="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The number of equity-based payment instruments, excluding stock (or unit) options, that are scheduled to vest.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, To Vest, Number of Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Units to Vest</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of unvested units</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allocated Share-based Compensation Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Compensation expense recognized</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized compensation expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period to recognize unrecognized compensation expense</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_AccruedDividendEquivalentUnits" xlink:label="prim_AccruedDividendEquivalentUnits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_AccruedDividendEquivalentUnits" xlink:to="prim_AccruedDividendEquivalentUnits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_AccruedDividendEquivalentUnits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of units accrued under dividend equivalents.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_AccruedDividendEquivalentUnits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued Dividend Equivalent Units</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_AccruedDividendEquivalentUnits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued dividend equivalent units</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Federal statutory income tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective tax rate on income before provision for income taxes including income attributable to noncontrolling interests (as a percent)</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest" xlink:label="prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest" xlink:to="prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents a ratio calculated by dividing the reported amount of income tax expense attributable to continuing operations for the period by GAAP-basis pretax income from continuing operations after adjusting for minority interest.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Continuing Operations after Minority Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective tax rate on income before provision for income taxes and noncontrolling interests (as a percent)</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum" xlink:label="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum" xlink:to="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the minimum period of statute of limitations of state and foreign jurisdictions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Period Of Statute Of Limitations Of State And Foreign Jurisdictions Minimum</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum period of statute of limitations of state and foreign jurisdictions</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum" xlink:label="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum" xlink:to="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the maximum period of statute of limitations of state and foreign jurisdictions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Period Of Statute Of Limitations Of State And Foreign Jurisdictions Maximum</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum period of statute of limitations of state and foreign jurisdictions</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="us-gaap_NetIncomeLossAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAbstract" xlink:to="us-gaap_NetIncomeLossAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Attributable to Parent [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Numerator:</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements" xlink:label="prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements" xlink:to="prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of shares issued to independent directors under share based payment arrangements.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Common Shares Attributable to Shares Issued to Independent Directors under Share Based Payment Arrangements</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive effect of shares issued to independent directors</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive effect of restricted stock units</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Basic and Diluted [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">(loss) earnings per share attributable to Primoris:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Anti-dilutive shares</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Anti-dilutive shares</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Business Acquisitions, by Acquisition [Table]</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LongTermRetentionPlanMember" xlink:label="prim_LongTermRetentionPlanMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_LongTermRetentionPlanMember" xlink:to="prim_LongTermRetentionPlanMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_LongTermRetentionPlanMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This element represents the Long-Term Retention Plan of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_LongTermRetentionPlanMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long Term Retention Plan [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_LongTermRetentionPlanMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LTR Plan</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_StockholdersEquityLineItems" xlink:label="prim_StockholdersEquityLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_StockholdersEquityLineItems" xlink:to="prim_StockholdersEquityLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_StockholdersEquityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders Equity [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_StockholdersEquityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' equity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:label="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:to="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Number of Shares, Par Value and Other Disclosures [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Shares, Employee Stock Purchase Plans</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares of common stock issued under the long-term incentive plan</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, Employee Stock Purchase Plan</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount received in exchange for shares of common stock under a long term incentive plan</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants" xlink:label="prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants" xlink:to="prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents percentage of average market closing prices used in determining number of common stock that could be purchased by participants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Compensation Arrangement Percentage of Average Market Closing Prices used in Determining Number of Common Stock that Could be Purchased by Participants</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of average market closing prices used in determining number of common stock that could be purchased by participants</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAbstract" xlink:label="us-gaap_TreasuryStockSharesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockSharesAbstract" xlink:to="us-gaap_TreasuryStockSharesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockSharesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Shares [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockSharesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share repurchase plan</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchase Program, Authorized Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregate purchase price up to which shares can be acquired under share repurchase program</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchased and Retired During Period, Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares purchased under share repurchase program</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchased and Retired During Period, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount paid for shares purchased under share repurchase program</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock Acquired, Average Cost Per Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount paid for shares purchased and cancelled under share repurchase program (per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" xlink:to="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Existence of Option to Extend [true false]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options to extend leases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:to="us-gaap_LesseeOperatingLeaseRenewalTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Renewal Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Renewal term</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_LeaseCostAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Components of lease expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets and Liabilities, Lessee [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease Liabilities, Payments Due [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Future minimum lease payments under non-cancelable operating leases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesTable" xlink:to="us-gaap_LossContingenciesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingencies [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingencies [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and contingencies</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts" xlink:label="prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts" xlink:to="prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount provided by defendants in expected costs toward the settlement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Settlement, Payments by Defendants in Expected Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Agreed payments by second defendant in expected remediation costs toward settlement</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:label="us-gaap_LitigationSettlementAmountAwardedToOtherParty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:to="us-gaap_LitigationSettlementAmountAwardedToOtherParty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LitigationSettlementAmountAwardedToOtherParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Settlement, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LitigationSettlementAmountAwardedToOtherParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Expected remediation cost on settlement</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationCostsCodefendantPercentage" xlink:label="prim_LitigationCostsCodefendantPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_LitigationCostsCodefendantPercentage" xlink:to="prim_LitigationCostsCodefendantPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_LitigationCostsCodefendantPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of expected costs towards the settlement that the co-defendant would pay.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_LitigationCostsCodefendantPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Costs CoDefendant Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_LitigationCostsCodefendantPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of expected costs second defendant would pay</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationCostsCompanyPercentage" xlink:label="prim_LitigationCostsCompanyPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_LitigationCostsCompanyPercentage" xlink:to="prim_LitigationCostsCompanyPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_LitigationCostsCompanyPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of expected costs towards the settlement that the Company would pay.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_LitigationCostsCompanyPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Costs Company Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_LitigationCostsCompanyPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of expected costs Company would pay</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementRemainingAccrualBalance" xlink:label="prim_LitigationSettlementRemainingAccrualBalance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_LitigationSettlementRemainingAccrualBalance" xlink:to="prim_LitigationSettlementRemainingAccrualBalance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_LitigationSettlementRemainingAccrualBalance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of remaining accrual balance which is to be paid to third-party contractor</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_LitigationSettlementRemainingAccrualBalance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Settlement Remaining Accrual Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_LitigationSettlementRemainingAccrualBalance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Remaining accrual balance</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementExpectedRemediationCost" xlink:label="prim_LitigationSettlementExpectedRemediationCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_LitigationSettlementExpectedRemediationCost" xlink:to="prim_LitigationSettlementExpectedRemediationCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_LitigationSettlementExpectedRemediationCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of total expected remediation costs.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_LitigationSettlementExpectedRemediationCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Settlement, Expected Remediation Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_LitigationSettlementExpectedRemediationCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Expected remediation cost</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_BondsIssuedAndOutstanding" xlink:label="prim_BondsIssuedAndOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_BondsIssuedAndOutstanding" xlink:to="prim_BondsIssuedAndOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_BondsIssuedAndOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of bonds issued and outstanding.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_BondsIssuedAndOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bonds, Issued and Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_BondsIssuedAndOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bid and completion bonds issued and outstanding</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementIncreaseInLiability" xlink:label="prim_LitigationSettlementIncreaseInLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_LitigationSettlementIncreaseInLiability" xlink:to="prim_LitigationSettlementIncreaseInLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_LitigationSettlementIncreaseInLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of increase in liability.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_LitigationSettlementIncreaseInLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Settlement, Increase in Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_LitigationSettlementIncreaseInLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase in liability</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementRemediationExpense" xlink:label="prim_LitigationSettlementRemediationExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_LitigationSettlementRemediationExpense" xlink:to="prim_LitigationSettlementRemediationExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_LitigationSettlementRemediationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of remediation expense incurred.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_LitigationSettlementRemediationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Settlement, Remediation Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_LitigationSettlementRemediationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Remediation costs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Segment Reporting Information, by Segment [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segments [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segments [Domain]</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PIAndESegmentMember" xlink:label="prim_PIAndESegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_PIAndESegmentMember" xlink:to="prim_PIAndESegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_PIAndESegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pertains to the Power, Industrial and Engineering segment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_PIAndESegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">P I And E Segment [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_PIAndESegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Power</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PAndUSegmentMember" xlink:label="prim_PAndUSegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_PAndUSegmentMember" xlink:to="prim_PAndUSegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_PAndUSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pertaining to the Pipeline and Underground segment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_PAndUSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">P And U Segment [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_PAndUSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pipeline</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UAndDSegmentMember" xlink:label="prim_UAndDSegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_UAndDSegmentMember" xlink:to="prim_UAndDSegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_UAndDSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pertaining to the Utilities and Distribution segment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_UAndDSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">U And D Segment [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_UAndDSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Utilities</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CivilSegmentMember" xlink:label="prim_CivilSegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_CivilSegmentMember" xlink:to="prim_CivilSegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_CivilSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pertaining to the Civil segment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_CivilSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Civil Segment [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_CivilSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Civil</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Information [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment reporting information</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_RevenuePercentage" xlink:label="prim_RevenuePercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_RevenuePercentage" xlink:to="prim_RevenuePercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_RevenuePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The percentage of revenue to total revenue.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_RevenuePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_RevenuePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">% of Total Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="prim_RevenuePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">% of Revenue</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_GrossProfitAsPercentageOfSegmentRevenue" xlink:label="prim_GrossProfitAsPercentageOfSegmentRevenue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_GrossProfitAsPercentageOfSegmentRevenue" xlink:to="prim_GrossProfitAsPercentageOfSegmentRevenue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_GrossProfitAsPercentageOfSegmentRevenue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the gross profit represented as a percentage of total segment revenue.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_GrossProfitAsPercentageOfSegmentRevenue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Profit as Percentage of Segment Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_GrossProfitAsPercentageOfSegmentRevenue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">% of Revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Geographical [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Geographical [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Geographical [Domain]</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NonUnitedStatesMember" xlink:label="prim_NonUnitedStatesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_NonUnitedStatesMember" xlink:to="prim_NonUnitedStatesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_NonUnitedStatesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents regions excluding the United States.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_NonUnitedStatesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non United States [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_NonUnitedStatesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-United States</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues from External Customers and Long-Lived Assets [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues and total assets by geographic area</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_TotalAssetsPercentage" xlink:label="prim_TotalAssetsPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_TotalAssetsPercentage" xlink:to="prim_TotalAssetsPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_TotalAssetsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The percentage of assets to total assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_TotalAssetsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">% of total assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Events</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsCashAbstract" xlink:label="us-gaap_DividendsCashAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCashAbstract" xlink:to="us-gaap_DividendsCashAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsCashAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dividends, Cash [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendsCashAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash Dividend</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Components [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Component [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Component [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid In Capital [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid-in Capital</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income (Loss)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non Controlling Interest</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipDomain" xlink:to="srt_OwnershipDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_OwnershipDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership [Domain]</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CarlsbadConstructorsJointVentureMember" xlink:label="prim_CarlsbadConstructorsJointVentureMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_CarlsbadConstructorsJointVentureMember" xlink:to="prim_CarlsbadConstructorsJointVentureMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_CarlsbadConstructorsJointVentureMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Carlsbad joint venture.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_CarlsbadConstructorsJointVentureMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carlsbad Constructors Joint Venture [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_CarlsbadConstructorsJointVentureMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carlsbad</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Benchmark [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Benchmark [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Benchmark [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sales Revenue Net [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer Concentration Risk [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer concentration</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Name Of Major Customer [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer [Domain]</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_TopTenCustomersMember" xlink:label="prim_TopTenCustomersMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_TopTenCustomersMember" xlink:to="prim_TopTenCustomersMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_TopTenCustomersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the top ten customers of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_TopTenCustomersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Top Ten Customers [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_TopTenCustomersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Top ten customers</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PipelineCustomerMember" xlink:label="prim_PipelineCustomerMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_PipelineCustomerMember" xlink:to="prim_PipelineCustomerMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_PipelineCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents a pipeline customer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_PipelineCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pipeline Customer [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_PipelineCustomerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pipeline Customer [Member]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instrument [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_DerivativeContractTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeContractTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Contract Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeContractTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Contract [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestRateSwapMember" xlink:to="us-gaap_InterestRateSwapMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestRateSwapMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Rate Swap [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestRateSwapMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate swap</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Inputs Level2 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Significant Other Observable Inputs (Level2)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UtilityTransmissionAndDistributionMember" xlink:label="prim_UtilityTransmissionAndDistributionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_UtilityTransmissionAndDistributionMember" xlink:to="prim_UtilityTransmissionAndDistributionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_UtilityTransmissionAndDistributionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member represents information regarding Transmission and Distribution segment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_UtilityTransmissionAndDistributionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Utility Transmission And Distribution [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_UtilityTransmissionAndDistributionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Transmission</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_MasterServiceAgreementCustomersMember" xlink:label="prim_MasterServiceAgreementCustomersMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_MasterServiceAgreementCustomersMember" xlink:to="prim_MasterServiceAgreementCustomersMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_MasterServiceAgreementCustomersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for MSA customers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_MasterServiceAgreementCustomersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Master Service Agreement Customers [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_MasterServiceAgreementCustomersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">MSA</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NonMasterServiceAgreementCustomersMember" xlink:label="prim_NonMasterServiceAgreementCustomersMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_NonMasterServiceAgreementCustomersMember" xlink:to="prim_NonMasterServiceAgreementCustomersMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_NonMasterServiceAgreementCustomersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for Non-MSA customers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_NonMasterServiceAgreementCustomersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non Master Service Agreement Customers [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_NonMasterServiceAgreementCustomersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-MSA</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerBasisOfPricingAxis" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingAxis" xlink:to="us-gaap_ContractWithCustomerBasisOfPricingAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Basis of Pricing [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerBasisOfPricingDomain" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingDomain" xlink:to="us-gaap_ContractWithCustomerBasisOfPricingDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract With Customer Basis Of Pricing [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Basis of Pricing [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FixedPriceContractMember" xlink:label="us-gaap_FixedPriceContractMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FixedPriceContractMember" xlink:to="us-gaap_FixedPriceContractMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FixedPriceContractMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fixed Price Contract [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FixedPriceContractMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fixed price</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UnitPriceContractsMember" xlink:label="prim_UnitPriceContractsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_UnitPriceContractsMember" xlink:to="prim_UnitPriceContractsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_UnitPriceContractsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for Unit-price contract.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_UnitPriceContractsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unit Price Contracts [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_UnitPriceContractsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unit price</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CostReimbursableContractsMember" xlink:label="prim_CostReimbursableContractsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_CostReimbursableContractsMember" xlink:to="prim_CostReimbursableContractsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_CostReimbursableContractsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for cost reimbursable contract.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_CostReimbursableContractsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost Reimbursable Contracts [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_CostReimbursableContractsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost reimbursable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="us-gaap_OtherIntangibleAssetsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIntangibleAssetsMember" xlink:to="us-gaap_OtherIntangibleAssetsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherIntangibleAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Intangible Assets [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherIntangibleAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LoansPayableMember" xlink:label="us-gaap_LoansPayableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansPayableMember" xlink:to="us-gaap_LoansPayableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansPayableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loans Payable [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LoansPayableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Term Loan</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member" xlink:label="prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member" xlink:to="prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the written promise to pay a note to a commercial equipment finance entity, maturing range from June 15, 2018 to August 22, 2022.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commercial Equipment Financing Due June2018 To August2022 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commercial equipment notes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MortgagesMember" xlink:label="us-gaap_MortgagesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MortgagesMember" xlink:to="us-gaap_MortgagesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MortgagesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Mortgages [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MortgagesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Mortgages</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncurrentLiabilitiesMember" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Noncurrent Liabilities [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other long-term liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Statement Location [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Statement Location [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Statement Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpenseMember" xlink:label="us-gaap_InterestExpenseMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseMember" xlink:to="us-gaap_InterestExpenseMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Expense [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestExpenseMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis" xlink:label="us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis" xlink:to="us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entities [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ClassificationOfVariableInterestEntityDomain" xlink:label="us-gaap_ClassificationOfVariableInterestEntityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassificationOfVariableInterestEntityDomain" xlink:to="us-gaap_ClassificationOfVariableInterestEntityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassificationOfVariableInterestEntityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Classification Of Variable Interest Entity [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ClassificationOfVariableInterestEntityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity, Classification [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Title of Individual [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Title Of Individual With Relationship To Entity [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Relationship to Entity [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ExecutiveOfficerMember" xlink:to="srt_ExecutiveOfficerMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ExecutiveOfficerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Executive Officer [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ExecutiveOfficerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Executives</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VestingAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_VestingDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VestingDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_VestingDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Award Tranche One [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020 (remaining nine months)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Award Tranche Two [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheThreeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Award Tranche Three [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ShareBasedCompensationAwardTrancheFourMember" xlink:label="prim_ShareBasedCompensationAwardTrancheFourMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_ShareBasedCompensationAwardTrancheFourMember" xlink:to="prim_ShareBasedCompensationAwardTrancheFourMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_ShareBasedCompensationAwardTrancheFourMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fourth portion of share-based compensation award differentiated by a particular vesting feature, including, but not limited to, performance measure or service period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_ShareBasedCompensationAwardTrancheFourMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Award Tranche Four [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_ShareBasedCompensationAwardTrancheFourMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Name [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities, Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency Nature [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="us-gaap_LossContingencyNatureDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyNatureDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency Nature [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyNatureDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency, Nature [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SuretyBondMember" xlink:label="us-gaap_SuretyBondMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SuretyBondMember" xlink:to="us-gaap_SuretyBondMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SuretyBondMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Surety Bond [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SuretyBondMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bonding</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition Acquiree [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Acquisition, Acquiree [Domain]</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_JamesConstructionGroupLLCMember" xlink:label="prim_JamesConstructionGroupLLCMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_JamesConstructionGroupLLCMember" xlink:to="prim_JamesConstructionGroupLLCMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_JamesConstructionGroupLLCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to James Construction Group LLC, an acquiree of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_JamesConstructionGroupLLCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">James Construction Group L L C [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_JamesConstructionGroupLLCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">JCG</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_LitigationCaseAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Case [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="srt_LitigationCaseTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_LitigationCaseTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Case Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_LitigationCaseTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Case [Domain]</label>
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember" xlink:label="prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember" xlink:to="prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to North Texas Tollway Authority v. James Construction Group, LLC, an action filed against the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">North Texas Tollway Authority V James Construction Group L L C [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">North Texas Tollway Authority v. James Construction Group, LLC</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Events</label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>prim-20200504_pre.xml
<DESCRIPTION>EX-101.PRE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.6.7401.38943 -->
<!--Based on XBRL 2.1-->
<!--Created on: 5/4/2020 9:51:27 PM-->
<!--Modified on: 5/4/2020 9:51:27 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedStatementsOfIncome" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedStatementsOfComprehensiveLossIncome" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedStatementsOfStockholdersEquityParenthetical" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquityParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureNatureOfBusiness" roleURI="http://www.primoriscorp.com/role/DisclosureNatureOfBusiness" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureBasisOfPresentation" roleURI="http://www.primoriscorp.com/role/DisclosureBasisOfPresentation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRecentAccountingPronouncements" roleURI="http://www.primoriscorp.com/role/DisclosureRecentAccountingPronouncements" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureFairValueMeasurements" roleURI="http://www.primoriscorp.com/role/DisclosureFairValueMeasurements" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenue" roleURI="http://www.primoriscorp.com/role/DisclosureRevenue" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureGoodwillAndIntangibleAssets" roleURI="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureAccountsPayableAndAccruedLiabilities" roleURI="http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureCreditArrangements" roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangements" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDerivativeInstruments" roleURI="http://www.primoriscorp.com/role/DisclosureDerivativeInstruments" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureNoncontrollingInterests" roleURI="http://www.primoriscorp.com/role/DisclosureNoncontrollingInterests" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureStockBasedCompensation" roleURI="http://www.primoriscorp.com/role/DisclosureStockBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureIncomeTaxes" roleURI="http://www.primoriscorp.com/role/DisclosureIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDividendsAndEarningsPerShare" roleURI="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureStockholdersEquity" roleURI="http://www.primoriscorp.com/role/DisclosureStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureLeases" roleURI="http://www.primoriscorp.com/role/DisclosureLeases" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureCommitmentsAndContingencies" roleURI="http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureReportableSegments" roleURI="http://www.primoriscorp.com/role/DisclosureReportableSegments" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureSubsequentEvent" roleURI="http://www.primoriscorp.com/role/DisclosureSubsequentEvent" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureFairValueMeasurementsTables" roleURI="http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenueTables" roleURI="http://www.primoriscorp.com/role/DisclosureRevenueTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureGoodwillAndIntangibleAssetsTables" roleURI="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureAccountsPayableAndAccruedLiabilitiesTables" roleURI="http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureCreditArrangementsTables" roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDerivativeInstrumentsTables" roleURI="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureNoncontrollingInterestsTables" roleURI="http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureStockBasedCompensationTables" roleURI="http://www.primoriscorp.com/role/DisclosureStockBasedCompensationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDividendsAndEarningsPerShareTables" roleURI="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureLeasesTables" roleURI="http://www.primoriscorp.com/role/DisclosureLeasesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureReportableSegmentsTables" roleURI="http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureNatureOfBusinessDetails" roleURI="http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureBasisOfPresentationDetails" roleURI="http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureFairValueMeasurementsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenuePerformanceObligationsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenuePerformanceObligations2020Details" roleURI="http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenueContractAssetsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenueContractLiabilitiesDetails" roleURI="http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" roleURI="http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" roleURI="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureAccountsPayableAndAccruedLiabilitiesDetails" roleURI="http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureCreditArrangementsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureCreditArrangementsNarrativeDetails" roleURI="http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDerivativeInstrumentsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureNoncontrollingInterestsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureStockBasedCompensationRestrictedStockUnitsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureIncomeTaxesDetails" roleURI="http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDividendsAndEarningsPerShareDetails" roleURI="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails" roleURI="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureStockholdersEquityDetails" roleURI="http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" roleURI="http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" roleURI="http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureCommitmentsAndContingenciesLegalDetails" roleURI="http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureReportableSegmentsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" roleURI="http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="prim-20200504.xsd#DisclosureSubsequentEventsDetails" roleURI="http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="00090 - Document - Document and Entity Information" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType_637242258830045078" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType_637242258830045078" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport_637242258830045078" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentQuarterlyReport_637242258830045078" order="2" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_637242258830055097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentTransitionReport_637242258830055097" order="3" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_637242258830055097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate_637242258830055097" order="4" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_637242258830055097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber_637242258830055097" order="5" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_637242258830055097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName_637242258830055097" order="6" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_637242258830055097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode_637242258830055097" order="7" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber_637242258830055097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber_637242258830055097" order="8" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_637242258830055097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1_637242258830055097" order="9" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_637242258830055097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown_637242258830055097" order="10" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince_637242258830055097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince_637242258830055097" order="11" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_637242258830055097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode_637242258830055097" order="12" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_637242258830055097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode_637242258830055097" order="13" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_637242258830065078" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber_637242258830065078" order="14" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_637242258830065078" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCurrentReportingStatus_637242258830065078" order="15" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_637242258830065078" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityInteractiveDataCurrent_637242258830065078" order="16" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_637242258830065078" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFilerCategory_637242258830065078" order="17" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness_637242258830065078" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntitySmallBusiness_637242258830065078" order="18" use="optional" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_637242258830065078" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany_637242258830065078" order="19" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_637242258830065078" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityShellCompany_637242258830065078" order="20" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_637242258830065078" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle_637242258830065078" order="21" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_637242258830065078" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol_637242258830065078" order="22" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_637242258830075083" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName_637242258830075083" order="23" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_637242258830075083" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCommonStockSharesOutstanding_637242258830075083" order="24" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_637242258830075083" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey_637242258830075083" order="25" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_637242258830075083" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CurrentFiscalYearEndDate_637242258830075083" order="26" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_637242258830075083" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalYearFocus_637242258830075083" order="27" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_637242258830075083" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalPeriodFocus_637242258830075083" order="28" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_637242258830075083" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag_637242258830075083" order="29" use="optional" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_637242258830085081" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract_637242258830085081" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_637242258830085081" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637242258830085081" xlink:to="us-gaap_AssetsCurrentAbstract_637242258830085081" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_637242258830085081" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637242258830085081" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_637242258830085081" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent_637242258830085081" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637242258830085081" xlink:to="us-gaap_ReceivablesNetCurrent_637242258830085081" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_637242258830085081" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637242258830085081" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_637242258830085081" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637242258830085081" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637242258830085081" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637242258830085081" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_637242258830095094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637242258830085081" xlink:to="us-gaap_AssetsCurrent_637242258830095094" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_637242258830095094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637242258830085081" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_637242258830095094" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_637242258830095094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637242258830085081" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_637242258830095094" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_637242258830095094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637242258830085081" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_637242258830095094" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_637242258830095094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637242258830085081" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_637242258830095094" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_637242258830095094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637242258830085081" xlink:to="us-gaap_Goodwill_637242258830095094" order="6" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_637242258830095094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637242258830085081" xlink:to="us-gaap_OtherAssetsNoncurrent_637242258830095094" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_637242258830095094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637242258830085081" xlink:to="us-gaap_Assets_637242258830095094" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637242258830095094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637242258830095094" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_637242258830095094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637242258830095094" xlink:to="us-gaap_LiabilitiesCurrentAbstract_637242258830095094" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_637242258830095094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637242258830095094" xlink:to="us-gaap_AccountsPayableCurrent_637242258830095094" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_637242258830255097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637242258830095094" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_637242258830255097" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_637242258830255097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637242258830095094" xlink:to="us-gaap_AccruedLiabilitiesCurrent_637242258830255097" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsPayableCurrent" xlink:label="us-gaap_DividendsPayableCurrent_637242258830255097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637242258830095094" xlink:to="us-gaap_DividendsPayableCurrent_637242258830255097" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_637242258830255097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637242258830095094" xlink:to="us-gaap_LongTermDebtCurrent_637242258830255097" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_637242258830255097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637242258830095094" xlink:to="us-gaap_LiabilitiesCurrent_637242258830255097" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_637242258830255097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637242258830095094" xlink:to="us-gaap_LongTermDebtNoncurrent_637242258830255097" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_637242258830255097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637242258830095094" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_637242258830255097" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_637242258830255097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637242258830095094" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_637242258830255097" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_637242258830255097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637242258830095094" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_637242258830255097" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_637242258830265091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637242258830095094" xlink:to="us-gaap_Liabilities_637242258830265091" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_637242258830265091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637242258830095094" xlink:to="us-gaap_CommitmentsAndContingencies_637242258830265091" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830265091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637242258830095094" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830265091" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_637242258830265091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830265091" xlink:to="us-gaap_CommonStockValue_637242258830265091" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_637242258830265091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830265091" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_637242258830265091" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_637242258830265091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830265091" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_637242258830265091" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637242258830265091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830265091" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637242258830265091" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_637242258830275092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830265091" xlink:to="us-gaap_MinorityInterest_637242258830275092" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258830275092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830265091" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258830275092" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_637242258830275092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637242258830095094" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_637242258830275092" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830275092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830275092" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_637242258830275092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830275092" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_637242258830275092" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_637242258830275092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830275092" xlink:to="us-gaap_CommonStockSharesAuthorized_637242258830275092" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_637242258830275092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830275092" xlink:to="us-gaap_CommonStockSharesIssued_637242258830275092" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_637242258830285097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637242258830275092" xlink:to="us-gaap_CommonStockSharesOutstanding_637242258830285097" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830285097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830285097" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_637242258830285097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold_637242258830285097" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_637242258830285097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_GrossProfit_637242258830285097" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_637242258830285097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_637242258830285097" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_637242258830285097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OperatingIncomeLoss_637242258830285097" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_637242258830285097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_637242258830285097" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_637242258830285097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637242258830285097" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_637242258830285097" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_637242258830285097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637242258830285097" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_637242258830285097" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet_637242258830285097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637242258830285097" xlink:to="us-gaap_InvestmentIncomeNet_637242258830285097" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_637242258830285097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637242258830285097" xlink:to="us-gaap_InterestExpense_637242258830285097" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637242258830295100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637242258830295100" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_637242258830295100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit_637242258830295100" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637242258830295100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_ProfitLoss_637242258830295100" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637242258830295100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637242258830295100" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_637242258830295100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLoss_637242258830295100" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_637242258830295100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_637242258830295100" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract_637242258830295100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_637242258830295100" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_637242258830295100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_637242258830295100" xlink:to="us-gaap_EarningsPerShareBasic_637242258830295100" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_637242258830295100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_637242258830295100" xlink:to="us-gaap_EarningsPerShareDiluted_637242258830295100" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_637242258830295100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_637242258830295100" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637242258830295100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_637242258830295100" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637242258830295100" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_637242258830305093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_637242258830295100" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_637242258830305093" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637242258830305093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ProfitLoss_637242258830305093" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_637242258830305093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_637242258830305093" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_637242258830305093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_637242258830305093" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_637242258830305093" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637242258830305093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_637242258830305093" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637242258830305093" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637242258830305093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637242258830305093" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_637242258830305093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_637242258830305093" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_637242258830305093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable_637242258830305093" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637242258830305093" xlink:to="us-gaap_StatementEquityComponentsAxis_637242258830315104" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637242258830315104" xlink:to="us-gaap_CommonStockMember_637242258830315104" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637242258830315104" xlink:to="us-gaap_AdditionalPaidInCapitalMember_637242258830315104" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637242258830315104" xlink:to="us-gaap_RetainedEarningsMember_637242258830315104" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637242258830315104" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_637242258830315104" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637242258830315104" xlink:to="us-gaap_NoncontrollingInterestMember_637242258830315104" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637242258830315104" xlink:to="us-gaap_EquityComponentDomain_637242258830315104" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637242258830305093" xlink:to="us-gaap_StatementLineItems_637242258830315104" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637242258830315104" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258830315104" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssued" xlink:label="us-gaap_SharesIssued_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="us-gaap_SharesIssued_637242258830315104" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="us-gaap_ProfitLoss_637242258830315104" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_637242258830315104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_637242258830315104" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_637242258830325096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_637242258830325096" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_637242258830325096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_637242258830325096" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_637242258830325096" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition_637242258830325096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition_637242258830325096" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DividendEquivalentUnitsValue" xlink:label="prim_DividendEquivalentUnitsValue_637242258830325096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="prim_DividendEquivalentUnitsValue_637242258830325096" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_637242258830325096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_637242258830325096" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_637242258830325096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue_637242258830325096" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_637242258830325096" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_637242258830325096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_637242258830325096" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsCommonStockCash" xlink:label="us-gaap_DividendsCommonStockCash_637242258830325096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="us-gaap_DividendsCommonStockCash_637242258830325096" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258830325096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637242258830325096" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssued" xlink:label="us-gaap_SharesIssued_637242258830335093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637242258830315104" xlink:to="us-gaap_SharesIssued_637242258830335093" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquityParenthetical" xlink:type="extended" xlink:title="00405 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_637242258830335093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_637242258830335093" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_637242258830335093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_637242258830335093" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637242258830335093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_637242258830335093" xlink:to="us-gaap_ProfitLoss_637242258830335093" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637242258830335093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_637242258830335093" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637242258830335093" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_637242258830335093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637242258830335093" xlink:to="us-gaap_DepreciationDepletionAndAmortization_637242258830335093" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_637242258830335093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637242258830335093" xlink:to="us-gaap_ShareBasedCompensation_637242258830335093" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_637242258830335093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637242258830335093" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_637242258830335093" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrealizedGainLossOnDerivatives" xlink:label="us-gaap_UnrealizedGainLossOnDerivatives_637242258830335093" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637242258830335093" xlink:to="us-gaap_UnrealizedGainLossOnDerivatives_637242258830335093" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNoncashExpense" xlink:label="us-gaap_OtherNoncashExpense_637242258830345101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637242258830335093" xlink:to="us-gaap_OtherNoncashExpense_637242258830345101" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637242258830345101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637242258830335093" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637242258830345101" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="us-gaap_IncreaseDecreaseInReceivables_637242258830345101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637242258830345101" xlink:to="us-gaap_IncreaseDecreaseInReceivables_637242258830345101" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_637242258830345101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637242258830345101" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_637242258830345101" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_637242258830345101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637242258830345101" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets_637242258830345101" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637242258830345101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637242258830345101" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637242258830345101" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_637242258830345101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637242258830345101" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_637242258830345101" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_637242258830345101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637242258830345101" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_637242258830345101" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities" xlink:label="prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities_637242258830345101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637242258830345101" xlink:to="prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities_637242258830345101" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_637242258830345101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637242258830345101" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_637242258830345101" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_637242258830345101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637242258830345101" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities_637242258830345101" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258830355097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637242258830335093" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_637242258830355097" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_637242258830355097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_637242258830355097" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_637242258830355097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_637242258830355097" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_637242258830355097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_637242258830355097" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_637242258830355097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_637242258830355097" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_637242258830355097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_637242258830355097" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit_637242258830355097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_ProceedsFromLinesOfCredit_637242258830355097" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_637242258830355097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_RepaymentsOfLinesOfCredit_637242258830355097" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_637242258830365096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt_637242258830365096" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_637242258830365096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_RepaymentsOfLongTermDebt_637242258830365096" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_637242258830365096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_637242258830365096" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_637242258830365096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_637242258830365096" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_637242258830365096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_637242258830365096" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromPaymentsForOtherFinancingActivities" xlink:label="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_637242258830365096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_ProceedsFromPaymentsForOtherFinancingActivities_637242258830365096" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258830365096" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_637242258830355097" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_637242258830365096" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637242258830375092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637242258830375092" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_637242258830375092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_637242258830375092" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637242258830375092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637242258830375092" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6372422588303750921" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6372422588303750921" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_637242258830375092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_637242258830375092" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_637242258830375092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_637242258830375092" xlink:to="us-gaap_InterestPaidNet_637242258830375092" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet_637242258830375092" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_637242258830375092" xlink:to="us-gaap_IncomeTaxesPaidNet_637242258830375092" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_637242258830385094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_637242258830375092" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_637242258830385094" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_637242258830385094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_637242258830385094" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent_637242258830385094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_637242258830385094" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent_637242258830385094" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureNatureOfBusiness" xlink:type="extended" xlink:title="10101 - Disclosure - Nature of Business" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations_637242258830385094" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_NatureOfOperations_637242258830385094" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureBasisOfPresentation" xlink:type="extended" xlink:title="10201 - Disclosure - Basis of Presentation" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_637242258830395101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_637242258830395101" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureRecentAccountingPronouncements" xlink:type="extended" xlink:title="10301 - Disclosure - Recent Accounting Pronouncements" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_637242258830395101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_637242258830395101" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureFairValueMeasurements" xlink:type="extended" xlink:title="10401 - Disclosure - Fair Value Measurements" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock_637242258830395101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock_637242258830395101" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenue" xlink:type="extended" xlink:title="10501 - Disclosure - Revenue" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_637242258830408796" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_637242258830408796" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets" xlink:type="extended" xlink:title="10601 - Disclosure - Goodwill and Intangible Assets" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_637242258830408796" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_637242258830408796" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities" xlink:type="extended" xlink:title="10701 - Disclosure - Accounts Payable and Accrued Liabilities" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_637242258830415116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_637242258830415116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureCreditArrangements" xlink:type="extended" xlink:title="10801 - Disclosure - Credit Arrangements" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock_637242258830415116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock_637242258830415116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureDerivativeInstruments" xlink:type="extended" xlink:title="10901 - Disclosure - Derivative Instruments" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_637242258830415116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_637242258830415116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureNoncontrollingInterests" xlink:type="extended" xlink:title="11001 - Disclosure - Noncontrolling Interests" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock_637242258830415116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncontrollingInterestAbstract" xlink:to="us-gaap_MinorityInterestDisclosureTextBlock_637242258830415116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureStockBasedCompensation" xlink:type="extended" xlink:title="11101 - Disclosure - Stock-Based Compensation" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_637242258830425108" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_637242258830425108" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureIncomeTaxes" xlink:type="extended" xlink:title="11201 - Disclosure - Income Taxes" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_637242258830425108" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_637242258830425108" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare" xlink:type="extended" xlink:title="11301 - Disclosure - Dividends and Earnings Per Share" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DividendsAndEarningsPerShareAbstract" xlink:label="prim_DividendsAndEarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DividendsAndEarningsPerShareDisclosureTextBlock" xlink:label="prim_DividendsAndEarningsPerShareDisclosureTextBlock_637242258830425108" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_DividendsAndEarningsPerShareAbstract" xlink:to="prim_DividendsAndEarningsPerShareDisclosureTextBlock_637242258830425108" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureStockholdersEquity" xlink:type="extended" xlink:title="11401 - Disclosure - Stockholders' Equity" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="us-gaap_StockholdersEquityNoteAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_637242258830425108" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_637242258830425108" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureLeases" xlink:type="extended" xlink:title="11501 - Disclosure - Leases" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_637242258830425108" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_637242258830425108" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies" xlink:type="extended" xlink:title="11601 - Disclosure - Commitments and Contingencies" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_637242258830435105" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_637242258830435105" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureReportableSegments" xlink:type="extended" xlink:title="11701 - Disclosure - Reportable Segments" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_637242258830435105" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_637242258830435105" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureSubsequentEvent" xlink:type="extended" xlink:title="11801 - Disclosure - Subsequent Event" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock_637242258830435105" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock_637242258830435105" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables" xlink:type="extended" xlink:title="30403 - Disclosure - Fair Value Measurements (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_637242258830435105" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_637242258830435105" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenueTables" xlink:type="extended" xlink:title="30503 - Disclosure - Revenue (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerAssetTableTextBlock" xlink:label="prim_ContractWithCustomerAssetTableTextBlock_637242258830445107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="prim_ContractWithCustomerAssetTableTextBlock_637242258830445107" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerLiabilityTableTextBlock" xlink:label="prim_ContractWithCustomerLiabilityTableTextBlock_637242258830445107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="prim_ContractWithCustomerLiabilityTableTextBlock_637242258830445107" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_637242258830445107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_637242258830445107" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" xlink:type="extended" xlink:title="30603 - Disclosure - Goodwill and Intangible Assets (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_637242258830445107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_637242258830445107" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_637242258830445107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_637242258830445107" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_637242258830445107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_637242258830445107" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables" xlink:type="extended" xlink:title="30703 - Disclosure - Accounts Payable and Accrued Liabilities (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_637242258830445107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_637242258830445107" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables" xlink:type="extended" xlink:title="30803 - Disclosure - Credit Arrangements (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock_637242258830445107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock_637242258830445107" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables" xlink:type="extended" xlink:title="30903 - Disclosure - Derivative Instruments (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock_637242258830455106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock_637242258830455106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_637242258830455106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_637242258830455106" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsTables" xlink:type="extended" xlink:title="31003 - Disclosure - Noncontrolling Interests (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock" xlink:label="prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock_637242258830455106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncontrollingInterestAbstract" xlink:to="prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock_637242258830455106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock" xlink:label="prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock_637242258830455106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncontrollingInterestAbstract" xlink:to="prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock_637242258830455106" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureStockBasedCompensationTables" xlink:type="extended" xlink:title="31103 - Disclosure - Stock-Based Compensation (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_637242258830455106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_637242258830455106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables" xlink:type="extended" xlink:title="31303 - Disclosure - Dividends and Earnings Per Share (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DividendsAndEarningsPerShareAbstract" xlink:label="prim_DividendsAndEarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsDeclaredTableTextBlock" xlink:label="us-gaap_DividendsDeclaredTableTextBlock_637242258830465106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_DividendsAndEarningsPerShareAbstract" xlink:to="us-gaap_DividendsDeclaredTableTextBlock_637242258830465106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_637242258830465106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_DividendsAndEarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_637242258830465106" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureLeasesTables" xlink:type="extended" xlink:title="31503 - Disclosure - Leases (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock_637242258830465106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCostTableTextBlock_637242258830465106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LesseeOperatingLeaseLiabilityTableTextBlock" xlink:label="prim_LesseeOperatingLeaseLiabilityTableTextBlock_637242258830465106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="prim_LesseeOperatingLeaseLiabilityTableTextBlock_637242258830465106" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables" xlink:type="extended" xlink:title="31703 - Disclosure - Reportable Segments (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_637242258830465106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_637242258830465106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails" xlink:type="extended" xlink:title="40101 - Disclosure - Nature of Business (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_635582338720126835" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ScheduleOfNatureOfBusinessTable" xlink:label="prim_ScheduleOfNatureOfBusinessTable_637242258830475107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_635582338720126835" xlink:to="prim_ScheduleOfNatureOfBusinessTable_637242258830475107" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_637242258830475107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_ScheduleOfNatureOfBusinessTable_637242258830475107" xlink:to="srt_OwnershipAxis_637242258830475107" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_637242258830475107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_637242258830475107" xlink:to="srt_OwnershipDomain_637242258830475107" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CarlsbadConstructorsJointVentureMember" xlink:label="prim_CarlsbadConstructorsJointVentureMember_637242258830475107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_637242258830475107" xlink:to="prim_CarlsbadConstructorsJointVentureMember_637242258830475107" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NatureOfBusinessLineItems" xlink:label="prim_NatureOfBusinessLineItems_637242258830475107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_ScheduleOfNatureOfBusinessTable_637242258830475107" xlink:to="prim_NatureOfBusinessLineItems_637242258830475107" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_637242258830475107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_NatureOfBusinessLineItems_637242258830475107" xlink:to="us-gaap_NumberOfReportableSegments_637242258830475107" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_637242258830475107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_NatureOfBusinessLineItems_637242258830475107" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_637242258830475107" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails" xlink:type="extended" xlink:title="40201 - Disclosure - Basis of Presentation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_636685453336209645" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable_637242258830475107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_636685453336209645" xlink:to="us-gaap_ConcentrationRiskTable_637242258830475107" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_637242258830475107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_637242258830475107" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_637242258830475107" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_637242258830475107" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_637242258830475107" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_637242258830475107" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_637242258830475107" xlink:to="us-gaap_SalesRevenueNetMember_637242258830485106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_637242258830475107" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_637242258830485106" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_637242258830485106" xlink:to="us-gaap_ConcentrationRiskTypeDomain_637242258830485106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_637242258830485106" xlink:to="us-gaap_CustomerConcentrationRiskMember_637242258830485106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_637242258830475107" xlink:to="srt_MajorCustomersAxis_637242258830485106" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_637242258830485106" xlink:to="srt_NameOfMajorCustomerDomain_637242258830485106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_TopTenCustomersMember" xlink:label="prim_TopTenCustomersMember_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_637242258830485106" xlink:to="prim_TopTenCustomersMember_637242258830485106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PipelineCustomerMember" xlink:label="prim_PipelineCustomerMember_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_637242258830485106" xlink:to="prim_PipelineCustomerMember_637242258830485106" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_637242258830475107" xlink:to="us-gaap_ConcentrationRiskLineItems_637242258830485106" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskNumberOfTopCustomers" xlink:label="prim_ConcentrationRiskNumberOfTopCustomers_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_637242258830485106" xlink:to="prim_ConcentrationRiskNumberOfTopCustomers_637242258830485106" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue" xlink:label="prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_637242258830485106" xlink:to="prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue_637242258830485106" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers" xlink:label="prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers_637242258830485106" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_637242258830485106" xlink:to="prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers_637242258830485106" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1_637242258830495100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_637242258830485106" xlink:to="us-gaap_ConcentrationRiskPercentage1_637242258830495100" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ConcentrationRiskNumberOfCustomers" xlink:label="prim_ConcentrationRiskNumberOfCustomers_637242258830495100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_637242258830485106" xlink:to="prim_ConcentrationRiskNumberOfCustomers_637242258830495100" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830495100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_637242258830485106" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830495100" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Fair Value Measurements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637242258830495100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637242258830495100" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_637242258830495100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637242258830495100" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_637242258830495100" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_637242258830495100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis_637242258830495100" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_637242258830495100" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_637242258830495100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain_637242258830495100" xlink:to="us-gaap_FairValueMeasurementsRecurringMember_637242258830495100" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_637242258830495100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637242258830495100" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_637242258830495100" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_637242258830495100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_637242258830495100" xlink:to="us-gaap_DerivativeContractTypeDomain_637242258830495100" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_637242258830495100" xlink:to="us-gaap_InterestRateSwapMember_637242258830505111" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637242258830495100" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_637242258830505111" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_637242258830505111" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_637242258830505111" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_637242258830505111" xlink:to="us-gaap_FairValueInputsLevel1Member_637242258830505111" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_637242258830505111" xlink:to="us-gaap_FairValueInputsLevel2Member_637242258830505111" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_637242258830505111" xlink:to="us-gaap_FairValueInputsLevel3Member_637242258830505111" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637242258830495100" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_637242258830505111" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="us-gaap_AssetsFairValueDisclosureAbstract_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_637242258830505111" xlink:to="us-gaap_AssetsFairValueDisclosureAbstract_637242258830505111" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:label="us-gaap_CashAndCashEquivalentsFairValueDisclosure_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsFairValueDisclosureAbstract_637242258830505111" xlink:to="us-gaap_CashAndCashEquivalentsFairValueDisclosure_637242258830505111" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContingentConsiderationAssetFairValue" xlink:label="prim_ContingentConsiderationAssetFairValue_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsFairValueDisclosureAbstract_637242258830505111" xlink:to="prim_ContingentConsiderationAssetFairValue_637242258830505111" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsFairValueDisclosureAbstract_637242258830505111" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_637242258830505111" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="us-gaap_LiabilitiesFairValueDisclosureAbstract_637242258830505111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_637242258830505111" xlink:to="us-gaap_LiabilitiesFairValueDisclosureAbstract_637242258830505111" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiability_637242258830515101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesFairValueDisclosureAbstract_637242258830505111" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiability_637242258830515101" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationAssetAbstract" xlink:label="us-gaap_BusinessCombinationContingentConsiderationAssetAbstract_637242258830515101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_637242258830505111" xlink:to="us-gaap_BusinessCombinationContingentConsiderationAssetAbstract_637242258830515101" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationAsset" xlink:label="us-gaap_BusinessCombinationContingentConsiderationAsset_637242258830515101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationContingentConsiderationAssetAbstract_637242258830515101" xlink:to="us-gaap_BusinessCombinationContingentConsiderationAsset_637242258830515101" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" xlink:type="extended" xlink:title="40501 - Disclosure - Revenue - Performance obligations (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_637242258830515101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_637242258830515101" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod" xlink:label="us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod_637242258830515101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod_637242258830515101" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerLiabilityModificationOfContract" xlink:label="prim_ContractWithCustomerLiabilityModificationOfContract_637242258830515101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="prim_ContractWithCustomerLiabilityModificationOfContract_637242258830515101" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract" xlink:label="us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract_637242258830515101" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract_637242258830515101" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details" xlink:type="extended" xlink:title="40502 - Disclosure - Revenue - Performance obligations - 2020 (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_637242258830525110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_637242258830525110" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_637242258830525110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_637242258830525110" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_637242258830525110" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_637242258830525110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_637242258830525110" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_637242258830525110" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_637242258830525110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_637242258830525110" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_637242258830525110" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage" xlink:label="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage_637242258830525110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_637242258830525110" xlink:to="prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage_637242258830525110" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" xlink:type="extended" xlink:title="40503 - Disclosure - Revenue - Contract assets (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_637242258830525110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_UnbilledReceivablesCurrent_637242258830525110" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractReceivableRetainage" xlink:label="us-gaap_ContractReceivableRetainage_637242258830525110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_ContractReceivableRetainage_637242258830525110" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryForLongTermContractsOrPrograms" xlink:label="us-gaap_InventoryForLongTermContractsOrPrograms_637242258830525110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_InventoryForLongTermContractsOrPrograms_637242258830525110" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_637242258830525110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_637242258830525110" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent" xlink:label="prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent_637242258830525110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent_637242258830525110" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" xlink:type="extended" xlink:title="40504 - Disclosure - Revenue - Contract liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerLiabilityDeferredRevenueCurrent" xlink:label="prim_ContractWithCustomerLiabilityDeferredRevenueCurrent_637242258830535109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="prim_ContractWithCustomerLiabilityDeferredRevenueCurrent_637242258830535109" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent" xlink:label="prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent_637242258830535109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent_637242258830535109" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_637242258830535109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_637242258830535109" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent" xlink:label="prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent_637242258830535109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent_637242258830535109" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_637242258830535109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_637242258830535109" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" xlink:type="extended" xlink:title="40505 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_637242258830535109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_637242258830535109" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_637242258830535109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637242258830535109" xlink:to="us-gaap_StatementBusinessSegmentsAxis_637242258830535109" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_637242258830535109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_637242258830535109" xlink:to="us-gaap_SegmentDomain_637242258830535109" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PIAndESegmentMember" xlink:label="prim_PIAndESegmentMember_637242258830535109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830535109" xlink:to="prim_PIAndESegmentMember_637242258830535109" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PAndUSegmentMember" xlink:label="prim_PAndUSegmentMember_637242258830535109" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830535109" xlink:to="prim_PAndUSegmentMember_637242258830535109" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UAndDSegmentMember" xlink:label="prim_UAndDSegmentMember_637242258830545110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830535109" xlink:to="prim_UAndDSegmentMember_637242258830545110" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UtilityTransmissionAndDistributionMember" xlink:label="prim_UtilityTransmissionAndDistributionMember_637242258830545110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830535109" xlink:to="prim_UtilityTransmissionAndDistributionMember_637242258830545110" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CivilSegmentMember" xlink:label="prim_CivilSegmentMember_637242258830545110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830535109" xlink:to="prim_CivilSegmentMember_637242258830545110" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_637242258830545110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637242258830535109" xlink:to="srt_MajorCustomersAxis_637242258830545110" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_637242258830545110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_637242258830545110" xlink:to="srt_NameOfMajorCustomerDomain_637242258830545110" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_MasterServiceAgreementCustomersMember" xlink:label="prim_MasterServiceAgreementCustomersMember_637242258830545110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_637242258830545110" xlink:to="prim_MasterServiceAgreementCustomersMember_637242258830545110" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NonMasterServiceAgreementCustomersMember" xlink:label="prim_NonMasterServiceAgreementCustomersMember_637242258830545110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_637242258830545110" xlink:to="prim_NonMasterServiceAgreementCustomersMember_637242258830545110" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerBasisOfPricingAxis" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingAxis_637242258830545110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637242258830535109" xlink:to="us-gaap_ContractWithCustomerBasisOfPricingAxis_637242258830545110" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerBasisOfPricingDomain" xlink:label="us-gaap_ContractWithCustomerBasisOfPricingDomain_637242258830545110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingAxis_637242258830545110" xlink:to="us-gaap_ContractWithCustomerBasisOfPricingDomain_637242258830545110" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FixedPriceContractMember" xlink:label="us-gaap_FixedPriceContractMember_637242258830545110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingDomain_637242258830545110" xlink:to="us-gaap_FixedPriceContractMember_637242258830545110" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UnitPriceContractsMember" xlink:label="prim_UnitPriceContractsMember_637242258830545110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingDomain_637242258830545110" xlink:to="prim_UnitPriceContractsMember_637242258830545110" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CostReimbursableContractsMember" xlink:label="prim_CostReimbursableContractsMember_637242258830555115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerBasisOfPricingDomain_637242258830545110" xlink:to="prim_CostReimbursableContractsMember_637242258830555115" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_637242258830555115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637242258830535109" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_637242258830555115" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830555115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_637242258830555115" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830555115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable_637242258830555115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfGoodwillTable_637242258830555115" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_637242258830555115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable_637242258830555115" xlink:to="us-gaap_StatementBusinessSegmentsAxis_637242258830555115" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_637242258830555115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_637242258830555115" xlink:to="us-gaap_SegmentDomain_637242258830555115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PIAndESegmentMember" xlink:label="prim_PIAndESegmentMember_637242258830565112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830555115" xlink:to="prim_PIAndESegmentMember_637242258830565112" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PAndUSegmentMember" xlink:label="prim_PAndUSegmentMember_637242258830565112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830555115" xlink:to="prim_PAndUSegmentMember_637242258830565112" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UAndDSegmentMember" xlink:label="prim_UAndDSegmentMember_637242258830565112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830555115" xlink:to="prim_UAndDSegmentMember_637242258830565112" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UtilityTransmissionAndDistributionMember" xlink:label="prim_UtilityTransmissionAndDistributionMember_637242258830565112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830555115" xlink:to="prim_UtilityTransmissionAndDistributionMember_637242258830565112" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CivilSegmentMember" xlink:label="prim_CivilSegmentMember_637242258830565112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830555115" xlink:to="prim_CivilSegmentMember_637242258830565112" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems_637242258830565112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfGoodwillTable_637242258830555115" xlink:to="us-gaap_GoodwillLineItems_637242258830565112" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_637242258830565112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillLineItems_637242258830565112" xlink:to="us-gaap_Goodwill_637242258830565112" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="9" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" xlink:type="extended" xlink:title="40602 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637242258830565112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637242258830565112" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_637242258830565112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637242258830565112" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_637242258830565112" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_637242258830565112" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637242258830575118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637242258830575118" xlink:to="us-gaap_TradeNamesMember_637242258830575118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637242258830575118" xlink:to="us-gaap_CustomerRelationshipsMember_637242258830575118" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637242258830575118" xlink:to="us-gaap_NoncompeteAgreementsMember_637242258830575118" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="us-gaap_OtherIntangibleAssetsMember_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637242258830575118" xlink:to="us-gaap_OtherIntangibleAssetsMember_637242258830575118" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637242258830565112" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_637242258830575118" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_637242258830575118" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_637242258830575118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_637242258830575118" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_637242258830575118" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_637242258830575118" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_637242258830575118" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_637242258830575118" xlink:to="us-gaap_AmortizationOfIntangibleAssets_637242258830575118" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_637242258830575118" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637242258830575118" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637242258830575118" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_637242258830575118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_637242258830575118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637242258830575118" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_637242258830575118" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_637242258830585104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637242258830575118" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_637242258830585104" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_637242258830585104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637242258830575118" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_637242258830585104" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_637242258830585104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637242258830575118" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_637242258830585104" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_637242258830585104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637242258830575118" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_637242258830585104" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_637242258830585104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637242258830575118" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_637242258830585104" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" xlink:type="extended" xlink:title="40701 - Disclosure - Accounts Payable and Accrued Liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ContractWithCustomerAccountsPayableDueToSubcontractors" xlink:label="prim_ContractWithCustomerAccountsPayableDueToSubcontractors_637242258830585104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="prim_ContractWithCustomerAccountsPayableDueToSubcontractors_637242258830585104" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:label="us-gaap_AccruedLiabilitiesCurrentAbstract_637242258830585104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrentAbstract_637242258830585104" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_637242258830585104" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesCurrentAbstract_637242258830585104" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_637242258830585104" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_637242258830595113" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesCurrentAbstract_637242258830585104" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_637242258830595113" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedInsuranceCurrent" xlink:label="us-gaap_AccruedInsuranceCurrent_637242258830595113" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesCurrentAbstract_637242258830585104" xlink:to="us-gaap_AccruedInsuranceCurrent_637242258830595113" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent_637242258830595113" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesCurrentAbstract_637242258830585104" xlink:to="us-gaap_TaxesPayableCurrent_637242258830595113" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_637242258830595113" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesCurrentAbstract_637242258830585104" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_637242258830595113" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_637242258830595113" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesCurrentAbstract_637242258830585104" xlink:to="us-gaap_AccruedLiabilitiesCurrent_637242258830595113" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" xlink:type="extended" xlink:title="40801 - Disclosure - Credit Arrangements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract_635582425811449354" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_637242258830595113" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_635582425811449354" xlink:to="us-gaap_DebtInstrumentTable_637242258830595113" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_637242258830595113" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637242258830595113" xlink:to="us-gaap_LongtermDebtTypeAxis_637242258830595113" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_637242258830595113" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_637242258830595113" xlink:to="us-gaap_LongtermDebtTypeDomain_637242258830595113" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LoansPayableMember" xlink:label="us-gaap_LoansPayableMember_637242258830595113" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_637242258830595113" xlink:to="us-gaap_LoansPayableMember_637242258830595113" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member" xlink:label="prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_637242258830595113" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_637242258830595113" xlink:to="prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_637242258830595113" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MortgagesMember" xlink:label="us-gaap_MortgagesMember_637242258830595113" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_637242258830595113" xlink:to="us-gaap_MortgagesMember_637242258830595113" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_637242258830605110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637242258830595113" xlink:to="us-gaap_DebtInstrumentLineItems_637242258830605110" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount_637242258830605110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830605110" xlink:to="us-gaap_DebtInstrumentCarryingAmount_637242258830605110" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnamortizedDebtIssuanceExpense" xlink:label="us-gaap_UnamortizedDebtIssuanceExpense_637242258830605110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830605110" xlink:to="us-gaap_UnamortizedDebtIssuanceExpense_637242258830605110" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_637242258830605110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830605110" xlink:to="us-gaap_LongTermDebt_637242258830605110" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_637242258830605110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830605110" xlink:to="us-gaap_LongTermDebtCurrent_637242258830605110" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent_637242258830605110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830605110" xlink:to="us-gaap_LongTermDebtNoncurrent_637242258830605110" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_637242258830605110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830605110" xlink:to="us-gaap_LettersOfCreditOutstandingAmount_637242258830605110" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails" xlink:type="extended" xlink:title="40802 - Disclosure - Credit Arrangements - Narrative (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_637242258830615120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_637242258830615120" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_637242258830615120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637242258830615120" xlink:to="us-gaap_CreditFacilityAxis_637242258830615120" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_637242258830615120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_637242258830615120" xlink:to="us-gaap_CreditFacilityDomain_637242258830615120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember" xlink:label="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_637242258830615120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_637242258830615120" xlink:to="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_637242258830615120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LoansPayableMember" xlink:label="us-gaap_LoansPayableMember_637242258830615120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_637242258830615120" xlink:to="us-gaap_LoansPayableMember_637242258830615120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CreditFacilityWithCanadianBankMember" xlink:label="prim_CreditFacilityWithCanadianBankMember_637242258830615120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_637242258830615120" xlink:to="prim_CreditFacilityWithCanadianBankMember_637242258830615120" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CanadianCreditFacilityCibcMember" xlink:label="prim_CanadianCreditFacilityCibcMember_637242258830615120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_637242258830615120" xlink:to="prim_CanadianCreditFacilityCibcMember_637242258830615120" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_637242258830615120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637242258830615120" xlink:to="us-gaap_LongtermDebtTypeAxis_637242258830615120" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_637242258830615120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_637242258830615120" xlink:to="us-gaap_LongtermDebtTypeDomain_637242258830615120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember_637242258830615120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_637242258830615120" xlink:to="us-gaap_RevolvingCreditFacilityMember_637242258830615120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LetterOfCreditMember" xlink:label="us-gaap_LetterOfCreditMember_637242258830625114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_637242258830615120" xlink:to="us-gaap_LetterOfCreditMember_637242258830625114" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_637242258830625114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637242258830615120" xlink:to="srt_RangeAxis_637242258830625114" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637242258830625114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_637242258830625114" xlink:to="srt_RangeMember_637242258830625114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_637242258830625114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637242258830625114" xlink:to="srt_MinimumMember_637242258830625114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_637242258830625114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637242258830615120" xlink:to="us-gaap_DebtInstrumentLineItems_637242258830625114" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate_637242258830625114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830625114" xlink:to="us-gaap_DebtWeightedAverageInterestRate_637242258830625114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_637242258830625114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830625114" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_637242258830625114" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PotentialIncreasePerAccordionFeature" xlink:label="prim_PotentialIncreasePerAccordionFeature_637242258830625114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830625114" xlink:to="prim_PotentialIncreasePerAccordionFeature_637242258830625114" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" xlink:label="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged_637242258830625114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830625114" xlink:to="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged_637242258830625114" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount_637242258830625114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830625114" xlink:to="us-gaap_LettersOfCreditOutstandingAmount_637242258830625114" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_637242258830635110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830625114" xlink:to="us-gaap_LineOfCredit_637242258830635110" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff" xlink:label="prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff_637242258830635110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830625114" xlink:to="prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff_637242258830635110" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_637242258830635110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637242258830625114" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_637242258830635110" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Derivative Instruments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_637242258830635110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_637242258830635110" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_637242258830635110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_637242258830635110" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_637242258830635110" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_637242258830635110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_637242258830635110" xlink:to="us-gaap_DerivativeContractTypeDomain_637242258830635110" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_637242258830635110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_637242258830635110" xlink:to="us-gaap_InterestRateSwapMember_637242258830635110" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_637242258830645116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_637242258830635110" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_637242258830645116" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NumberOfInstrumentsUsedForTrading" xlink:label="prim_NumberOfInstrumentsUsedForTrading_637242258830645116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_637242258830645116" xlink:to="prim_NumberOfInstrumentsUsedForTrading_637242258830645116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilityNotionalAmount" xlink:label="us-gaap_DerivativeLiabilityNotionalAmount_637242258830645116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_637242258830645116" xlink:to="us-gaap_DerivativeLiabilityNotionalAmount_637242258830645116" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged" xlink:label="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged_637242258830645116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_637242258830645116" xlink:to="prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged_637242258830645116" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan" xlink:label="prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan_637242258830645116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_637242258830645116" xlink:to="prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan_637242258830645116" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" xlink:type="extended" xlink:title="40902 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_637242258830645116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_637242258830645116" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_637242258830645116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_637242258830645116" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_637242258830645116" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_637242258830645116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_637242258830645116" xlink:to="us-gaap_DerivativeContractTypeDomain_637242258830645116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_637242258830645116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_637242258830645116" xlink:to="us-gaap_InterestRateSwapMember_637242258830645116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_637242258830645116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_637242258830645116" xlink:to="us-gaap_BalanceSheetLocationAxis_637242258830645116" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_637242258830645116" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_637242258830645116" xlink:to="us-gaap_BalanceSheetLocationDomain_637242258830645116" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember_637242258830655114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_637242258830645116" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember_637242258830655114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_637242258830655114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_637242258830645116" xlink:to="us-gaap_IncomeStatementLocationAxis_637242258830655114" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_637242258830655114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis_637242258830655114" xlink:to="us-gaap_IncomeStatementLocationDomain_637242258830655114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpenseMember" xlink:label="us-gaap_InterestExpenseMember_637242258830655114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain_637242258830655114" xlink:to="us-gaap_InterestExpenseMember_637242258830655114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_637242258830655114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_637242258830645116" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_637242258830655114" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="us-gaap_DerivativeLiabilities_637242258830655114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_637242258830655114" xlink:to="us-gaap_DerivativeLiabilities_637242258830655114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLossOnDerivative" xlink:label="us-gaap_DerivativeLossOnDerivative_637242258830655114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_637242258830655114" xlink:to="us-gaap_DerivativeLossOnDerivative_637242258830655114" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails" xlink:type="extended" xlink:title="41001 - Disclosure - Noncontrolling Interests (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestTable" xlink:label="us-gaap_MinorityInterestTable_637242258830655114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncontrollingInterestAbstract" xlink:to="us-gaap_MinorityInterestTable_637242258830655114" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis" xlink:label="us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_637242258830655114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestTable_637242258830655114" xlink:to="us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_637242258830655114" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ClassificationOfVariableInterestEntityDomain" xlink:label="us-gaap_ClassificationOfVariableInterestEntityDomain_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_637242258830655114" xlink:to="us-gaap_ClassificationOfVariableInterestEntityDomain_637242258830665114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CarlsbadConstructorsJointVentureMember" xlink:label="prim_CarlsbadConstructorsJointVentureMember_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassificationOfVariableInterestEntityDomain_637242258830665114" xlink:to="prim_CarlsbadConstructorsJointVentureMember_637242258830665114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestTable_637242258830655114" xlink:to="srt_OwnershipAxis_637242258830665114" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_637242258830665114" xlink:to="srt_OwnershipDomain_637242258830665114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CarlsbadConstructorsJointVentureMember" xlink:label="prim_CarlsbadConstructorsJointVentureMember_6372422588306651141" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_637242258830665114" xlink:to="prim_CarlsbadConstructorsJointVentureMember_6372422588306651141" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestLineItems" xlink:label="us-gaap_MinorityInterestLineItems_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestTable_637242258830655114" xlink:to="us-gaap_MinorityInterestLineItems_637242258830665114" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestLineItems_637242258830665114" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_637242258830665114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestLineItems_637242258830665114" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830665114" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestLineItems_637242258830665114" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637242258830665114" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PartnersCapitalAccountDistributions" xlink:label="us-gaap_PartnersCapitalAccountDistributions_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestLineItems_637242258830665114" xlink:to="us-gaap_PartnersCapitalAccountDistributions_637242258830665114" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestLineItems_637242258830665114" xlink:to="us-gaap_ProceedsFromMinorityShareholders_637242258830665114" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestLineItems_637242258830665114" xlink:to="us-gaap_Cash_637242258830665114" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent_637242258830665114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestLineItems_637242258830665114" xlink:to="us-gaap_ReceivablesNetCurrent_637242258830665114" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_637242258830675112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestLineItems_637242258830665114" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_637242258830675112" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueFromAffiliateNoncurrent" xlink:label="us-gaap_DueFromAffiliateNoncurrent_637242258830675112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestLineItems_637242258830665114" xlink:to="us-gaap_DueFromAffiliateNoncurrent_637242258830675112" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_637242258830675112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestLineItems_637242258830665114" xlink:to="us-gaap_AccountsPayableCurrent_637242258830675112" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_637242258830675112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MinorityInterestLineItems_637242258830665114" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_637242258830675112" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" xlink:type="extended" xlink:title="41101 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637242258830675112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637242258830675112" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_637242258830675112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637242258830675112" xlink:to="srt_TitleOfIndividualAxis_637242258830675112" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_637242258830675112" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis_637242258830675112" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_637242258830675112" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ExecutiveOfficerMember" xlink:label="srt_ExecutiveOfficerMember_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain_637242258830675112" xlink:to="srt_ExecutiveOfficerMember_637242258830685115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637242258830675112" xlink:to="us-gaap_PlanNameAxis_637242258830685115" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_637242258830685115" xlink:to="us-gaap_PlanNameDomain_637242258830685115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_EquityIncentivePlan2013Member" xlink:label="prim_EquityIncentivePlan2013Member_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_637242258830685115" xlink:to="prim_EquityIncentivePlan2013Member_637242258830685115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637242258830675112" xlink:to="us-gaap_AwardTypeAxis_637242258830685115" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_637242258830685115" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637242258830685115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637242258830685115" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_637242258830685115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637242258830675112" xlink:to="us-gaap_VestingAxis_637242258830685115" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis_637242258830685115" xlink:to="us-gaap_VestingDomain_637242258830685115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain_637242258830685115" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember_637242258830685115" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain_637242258830685115" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_637242258830685115" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationAwardTrancheThreeMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheThreeMember_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain_637242258830685115" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheThreeMember_637242258830685115" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ShareBasedCompensationAwardTrancheFourMember" xlink:label="prim_ShareBasedCompensationAwardTrancheFourMember_637242258830685115" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain_637242258830685115" xlink:to="prim_ShareBasedCompensationAwardTrancheFourMember_637242258830685115" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637242258830695110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637242258830675112" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637242258830695110" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_637242258830695110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637242258830695110" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_637242258830695110" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber_637242258830695110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637242258830695110" xlink:to="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber_637242258830695110" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares" xlink:label="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares_637242258830695110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637242258830695110" xlink:to="prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares_637242258830695110" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_637242258830695110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637242258830695110" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_637242258830695110" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_637242258830695110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637242258830695110" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_637242258830695110" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_637242258830695110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637242258830695110" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_637242258830695110" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_637242258830695110" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637242258830695110" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_637242258830695110" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_AccruedDividendEquivalentUnits" xlink:label="prim_AccruedDividendEquivalentUnits_637242258830705120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637242258830695110" xlink:to="prim_AccruedDividendEquivalentUnits_637242258830705120" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" xlink:type="extended" xlink:title="41201 - Disclosure - Income Taxes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_637242258830705120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_637242258830705120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_637242258830705120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_637242258830705120" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest" xlink:label="prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest_637242258830705120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest_637242258830705120" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum" xlink:label="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum_637242258830705120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum_637242258830705120" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum" xlink:label="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum_637242258830705120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum_637242258830705120" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" xlink:type="extended" xlink:title="41301 - Disclosure - Dividends and Earnings Per Share (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DividendsAndEarningsPerShareAbstract" xlink:label="prim_DividendsAndEarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_637242258830715120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_DividendsAndEarningsPerShareAbstract" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_637242258830715120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAbstract" xlink:label="us-gaap_NetIncomeLossAbstract_637242258830715120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_DividendsAndEarningsPerShareAbstract" xlink:to="us-gaap_NetIncomeLossAbstract_637242258830715120" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_637242258830715120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetIncomeLossAbstract_637242258830715120" xlink:to="us-gaap_NetIncomeLoss_637242258830715120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_637242258830715120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_DividendsAndEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_637242258830715120" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637242258830715120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_637242258830715120" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637242258830715120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements" xlink:label="prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements_637242258830715120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_637242258830715120" xlink:to="prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements_637242258830715120" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_637242258830715120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_637242258830715120" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_637242258830715120" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_637242258830715120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_637242258830715120" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_637242258830715120" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637242258830715120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_DividendsAndEarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637242258830715120" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_637242258830715120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637242258830715120" xlink:to="us-gaap_EarningsPerShareBasic_637242258830715120" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_637242258830715120" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637242258830715120" xlink:to="us-gaap_EarningsPerShareDiluted_637242258830715120" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails" xlink:type="extended" xlink:title="41302 - Disclosure - Dividends and Earnings Per Share - Anti-dilutive shares (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DividendsAndEarningsPerShareAbstract" xlink:label="prim_DividendsAndEarningsPerShareAbstract_637234133163437618" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_637242258830725123" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_DividendsAndEarningsPerShareAbstract_637234133163437618" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_637242258830725123" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_637242258830725123" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_637242258830725123" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_637242258830725123" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_637242258830725123" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_637242258830725123" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_637242258830725123" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_EquityIncentivePlan2013Member" xlink:label="prim_EquityIncentivePlan2013Member_637242258830725123" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_637242258830725123" xlink:to="prim_EquityIncentivePlan2013Member_637242258830725123" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_637242258830725123" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_637242258830725123" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_637242258830725123" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_637242258830725123" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_637242258830725123" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_637242258830725123" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_637242258830725123" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_637242258830725123" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_637242258830725123" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" xlink:type="extended" xlink:title="41401 - Disclosure - Stockholders' Equity (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="us-gaap_StockholdersEquityNoteAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_637242258830725123" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_637242258830725123" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_637242258830725123" xlink:to="us-gaap_PlanNameAxis_637242258830735118" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_637242258830735118" xlink:to="us-gaap_PlanNameDomain_637242258830735118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LongTermRetentionPlanMember" xlink:label="prim_LongTermRetentionPlanMember_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_637242258830735118" xlink:to="prim_LongTermRetentionPlanMember_637242258830735118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_EquityIncentivePlan2013Member" xlink:label="prim_EquityIncentivePlan2013Member_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_637242258830735118" xlink:to="prim_EquityIncentivePlan2013Member_637242258830735118" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_637242258830725123" xlink:to="us-gaap_AwardTypeAxis_637242258830735118" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_637242258830735118" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637242258830735118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637242258830735118" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_637242258830735118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_StockholdersEquityLineItems" xlink:label="prim_StockholdersEquityLineItems_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_637242258830725123" xlink:to="prim_StockholdersEquityLineItems_637242258830735118" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract" xlink:label="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_StockholdersEquityLineItems_637242258830735118" xlink:to="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_637242258830735118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_637242258830735118" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_637242258830735118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_637242258830735118" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_637242258830735118" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants" xlink:label="prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_637242258830735118" xlink:to="prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants_637242258830735118" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_637242258830735118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_637242258830735118" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_637242258830735118" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_637242258830745114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_637242258830735118" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_637242258830745114" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_AccruedDividendEquivalentUnits" xlink:label="prim_AccruedDividendEquivalentUnits_637242258830745114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract_637242258830735118" xlink:to="prim_AccruedDividendEquivalentUnits_637242258830745114" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAbstract" xlink:label="us-gaap_TreasuryStockSharesAbstract_637242258830745114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="prim_StockholdersEquityLineItems_637242258830735118" xlink:to="us-gaap_TreasuryStockSharesAbstract_637242258830745114" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1_637242258830745114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockSharesAbstract_637242258830745114" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1_637242258830745114" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_637242258830745114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockSharesAbstract_637242258830745114" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_637242258830745114" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_637242258830745114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockSharesAbstract_637242258830745114" xlink:to="us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_637242258830745114" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_637242258830745114" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockSharesAbstract_637242258830745114" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare_637242258830745114" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" xlink:type="extended" xlink:title="41501 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_StatementTable_637242258830755103" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637242258830755103" xlink:to="srt_RangeAxis_637242258830755103" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_637242258830755103" xlink:to="srt_RangeMember_637242258830755103" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637242258830755103" xlink:to="srt_MaximumMember_637242258830755103" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637242258830755103" xlink:to="us-gaap_StatementLineItems_637242258830755103" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend" xlink:label="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637242258830755103" xlink:to="us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend_637242258830755103" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637242258830755103" xlink:to="us-gaap_LesseeOperatingLeaseRenewalTerm_637242258830755103" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637242258830755103" xlink:to="us-gaap_LeaseCostAbstract_637242258830755103" order="3" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_637242258830755103" xlink:to="us-gaap_OperatingLeaseCost_637242258830755103" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637242258830755103" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637242258830755103" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637242258830755103" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_637242258830755103" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637242258830755103" xlink:to="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_637242258830755103" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_637242258830755103" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637242258830755103" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_637242258830755103" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_637242258830765117" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637242258830755103" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_637242258830765117" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_637242258830765117" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637242258830755103" xlink:to="us-gaap_OperatingLeaseLiability_637242258830765117" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" xlink:type="extended" xlink:title="41502 - Disclosure - Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637242258830765117" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637242258830765117" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_637242258830765117" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637242258830765117" xlink:to="us-gaap_OperatingLeaseLiability_637242258830765117" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails" xlink:type="extended" xlink:title="41601 - Disclosure - Commitments and Contingencies - Legal (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable_637242258830775125" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_LossContingenciesTable_637242258830775125" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis_637242258830775125" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_637242258830775125" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis_637242258830775125" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain_637242258830775125" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis_637242258830775125" xlink:to="us-gaap_LossContingencyNatureDomain_637242258830775125" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SuretyBondMember" xlink:label="us-gaap_SuretyBondMember_637242258830775125" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyNatureDomain_637242258830775125" xlink:to="us-gaap_SuretyBondMember_637242258830775125" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_637242258830775125" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_637242258830775125" xlink:to="us-gaap_BusinessAcquisitionAxis_637242258830775125" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_637242258830775125" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis_637242258830775125" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_637242258830775125" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_JamesConstructionGroupLLCMember" xlink:label="prim_JamesConstructionGroupLLCMember_637242258830775125" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain_637242258830775125" xlink:to="prim_JamesConstructionGroupLLCMember_637242258830775125" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_637242258830775125" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_637242258830775125" xlink:to="srt_LitigationCaseAxis_637242258830775125" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_637242258830835111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis_637242258830775125" xlink:to="srt_LitigationCaseTypeDomain_637242258830835111" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember" xlink:label="prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_637242258830835111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_637242258830835111" xlink:to="prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_637242258830835111" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_637242258830835111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_637242258830775125" xlink:to="srt_RangeAxis_637242258830835111" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637242258830835111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_637242258830835111" xlink:to="srt_RangeMember_637242258830835111" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_637242258830835111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637242258830835111" xlink:to="srt_MaximumMember_637242258830835111" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems_637242258830835111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_637242258830775125" xlink:to="us-gaap_LossContingenciesLineItems_637242258830835111" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts" xlink:label="prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts_637242258830845131" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637242258830835111" xlink:to="prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts_637242258830845131" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:label="us-gaap_LitigationSettlementAmountAwardedToOtherParty_637242258830845131" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637242258830835111" xlink:to="us-gaap_LitigationSettlementAmountAwardedToOtherParty_637242258830845131" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationCostsCodefendantPercentage" xlink:label="prim_LitigationCostsCodefendantPercentage_637242258830845131" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637242258830835111" xlink:to="prim_LitigationCostsCodefendantPercentage_637242258830845131" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationCostsCompanyPercentage" xlink:label="prim_LitigationCostsCompanyPercentage_637242258830845131" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637242258830835111" xlink:to="prim_LitigationCostsCompanyPercentage_637242258830845131" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementRemainingAccrualBalance" xlink:label="prim_LitigationSettlementRemainingAccrualBalance_637242258830845131" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637242258830835111" xlink:to="prim_LitigationSettlementRemainingAccrualBalance_637242258830845131" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementExpectedRemediationCost" xlink:label="prim_LitigationSettlementExpectedRemediationCost_637242258830845131" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637242258830835111" xlink:to="prim_LitigationSettlementExpectedRemediationCost_637242258830845131" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_BondsIssuedAndOutstanding" xlink:label="prim_BondsIssuedAndOutstanding_637242258830845131" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637242258830835111" xlink:to="prim_BondsIssuedAndOutstanding_637242258830845131" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementIncreaseInLiability" xlink:label="prim_LitigationSettlementIncreaseInLiability_637242258830845131" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637242258830835111" xlink:to="prim_LitigationSettlementIncreaseInLiability_637242258830845131" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_LitigationSettlementRemediationExpense" xlink:label="prim_LitigationSettlementRemediationExpense_637242258830845131" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637242258830835111" xlink:to="prim_LitigationSettlementRemediationExpense_637242258830845131" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830855117" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637242258830835111" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830855117" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_637242258830855117" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637242258830835111" xlink:to="us-gaap_GrossProfit_637242258830855117" order="11" use="optional" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" xlink:type="extended" xlink:title="41701 - Disclosure - Reportable Segments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_637242258830855117" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_637242258830855117" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_637242258830855117" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_637242258830855117" xlink:to="us-gaap_StatementBusinessSegmentsAxis_637242258830855117" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_637242258830855117" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_637242258830855117" xlink:to="us-gaap_SegmentDomain_637242258830855117" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PIAndESegmentMember" xlink:label="prim_PIAndESegmentMember_637242258830855117" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830855117" xlink:to="prim_PIAndESegmentMember_637242258830855117" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_PAndUSegmentMember" xlink:label="prim_PAndUSegmentMember_637242258830855117" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830855117" xlink:to="prim_PAndUSegmentMember_637242258830855117" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UAndDSegmentMember" xlink:label="prim_UAndDSegmentMember_637242258830865129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830855117" xlink:to="prim_UAndDSegmentMember_637242258830865129" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_UtilityTransmissionAndDistributionMember" xlink:label="prim_UtilityTransmissionAndDistributionMember_637242258830865129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830855117" xlink:to="prim_UtilityTransmissionAndDistributionMember_637242258830865129" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_CivilSegmentMember" xlink:label="prim_CivilSegmentMember_637242258830865129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637242258830855117" xlink:to="prim_CivilSegmentMember_637242258830865129" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_637242258830865129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_637242258830855117" xlink:to="us-gaap_SegmentReportingInformationLineItems_637242258830865129" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_637242258830865129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_637242258830865129" xlink:to="us-gaap_NumberOfReportableSegments_637242258830865129" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830865129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_637242258830865129" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_637242258830865129" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_RevenuePercentage" xlink:label="prim_RevenuePercentage_637242258830865129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_637242258830865129" xlink:to="prim_RevenuePercentage_637242258830865129" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_637242258830865129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_637242258830865129" xlink:to="us-gaap_GrossProfit_637242258830865129" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_GrossProfitAsPercentageOfSegmentRevenue" xlink:label="prim_GrossProfitAsPercentageOfSegmentRevenue_637242258830865129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_637242258830865129" xlink:to="prim_GrossProfitAsPercentageOfSegmentRevenue_637242258830865129" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" xlink:type="extended" xlink:title="41702 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_637242258830875126" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_637242258830875126" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_637242258830875126" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_637242258830875126" xlink:to="srt_StatementGeographicalAxis_637242258830875126" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_637242258830875126" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_637242258830875126" xlink:to="srt_SegmentGeographicalDomain_637242258830875126" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_NonUnitedStatesMember" xlink:label="prim_NonUnitedStatesMember_637242258830875126" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_637242258830875126" xlink:to="prim_NonUnitedStatesMember_637242258830875126" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_637242258830875126" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_637242258830875126" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_637242258830875126" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_RevenuePercentage" xlink:label="prim_RevenuePercentage_637242258830875126" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_637242258830875126" xlink:to="prim_RevenuePercentage_637242258830875126" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="prim-20200504.xsd#prim_TotalAssetsPercentage" xlink:label="prim_TotalAssetsPercentage_637242258830875126" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_637242258830875126" xlink:to="prim_TotalAssetsPercentage_637242258830875126" order="2" use="optional" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails" xlink:type="extended" xlink:title="41801 - Disclosure - Subsequent Events (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract_635616865191389173" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable_637242258830875126" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract_635616865191389173" xlink:to="us-gaap_SubsequentEventTable_637242258830875126" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_637242258830875126" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_637242258830875126" xlink:to="us-gaap_SubsequentEventTypeAxis_637242258830875126" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_637242258830885129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis_637242258830875126" xlink:to="us-gaap_SubsequentEventTypeDomain_637242258830885129" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember_637242258830885129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeDomain_637242258830885129" xlink:to="us-gaap_SubsequentEventMember_637242258830885129" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems_637242258830885129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_637242258830875126" xlink:to="us-gaap_SubsequentEventLineItems_637242258830885129" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DividendsCashAbstract" xlink:label="us-gaap_DividendsCashAbstract_637242258830885129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems_637242258830885129" xlink:to="us-gaap_DividendsCashAbstract_637242258830885129" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_637242258830885129" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DividendsCashAbstract_637242258830885129" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_637242258830885129" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="5" />
  </presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6648359856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Nature of Business<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Nature of Business</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Nature of Business</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;1&#8212;Nature of Business</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Organization and operations &#8212; </span>Primoris Services Corporation is one of the leading providers of specialty contracting services operating mainly in the United States and Canada. We provide a wide range of specialty construction services, fabrication, maintenance, replacement, and engineering services to a diversified base of customers through our five segments. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have longstanding customer relationships with major utility, refining, petrochemical, power, midstream, and engineering companies, and state departments of transportation. We provide our services to a diversified base of customers, under a range of contracting options. A substantial portion of our services are provided under Master Service Agreements (&#8220;MSA&#8221;), which are generally multi-year agreements. The remainder of our services are generated from contracts for specific construction or installation projects. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are incorporated in the State of Delaware, and our corporate headquarters are located at 2300 N. Field Street, Suite 1900, Dallas, Texas 75201. Unless specifically noted otherwise, as used throughout these consolidated financial statements, &#8220;Primoris&#8221;, &#8220;the Company&#8221;, &#8220;we&#8221;, &#8220;our&#8221;, &#8220;us&#8221; or &#8220;its&#8221; refers to the business, operations and financial results of the Company and its wholly-owned subsidiaries.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Reportable Segments </span>&#8212; We segregate our business into five<span style="white-space:pre-wrap;"> reportable segments: the Power, Industrial and Engineering (&#8220;Power&#8221;) segment, the Pipeline and Underground (&#8220;Pipeline&#8221;) segment, the Utilities and Distribution (&#8220;Utilities&#8221;) segment, the Transmission and Distribution (&#8220;Transmission&#8221;) segment, and the Civil segment.  See Note 17 &#8211; &#8220;</span><i style="font-style:italic;">Reportable Segments</i>&#8221; for a brief description of the reportable segments and their operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses were made.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Joint Ventures </span>&#8212; We own a 50<span style="white-space:pre-wrap;">% interest in the Carlsbad Power Constructors joint venture (&#8220;Carlsbad&#8221;), which engineered and constructed a gas-fired power generation facility located in Southern California, and its operations are included as part of the Power segment. As a result of determining that we are the primary beneficiary of the variable interest entity (&#8220;VIE&#8221;), the results of the Carlsbad joint venture are consolidated in our financial statements. The project was substantially complete as of December 31, 2018, and the warranty period expires in December 2020.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Financial information for the joint ventures is presented in Note 10 &#8211; <i style="font-style:italic;">&#8220;Noncontrolling Interests</i>&#8221;. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6644241520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Reportable Segments - Revenue and Total Assets by Geographic Area (Details)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues and total assets by geographic area</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_RevenuePercentage', window );">% of Revenue</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=prim_NonUnitedStatesMember', window );">Non-United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues and total assets by geographic area</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_RevenuePercentage', window );">% of Revenue</a></td>
<td class="nump">4.20%<span></span>
</td>
<td class="nump">4.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_TotalAssetsPercentage', window );">% of total assets</a></td>
<td class="nump">3.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.40%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_RevenuePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of revenue to total revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_RevenuePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_TotalAssetsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of assets to total assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_TotalAssetsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=prim_NonUnitedStatesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=prim_NonUnitedStatesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6780508256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net (loss) income</a></td>
<td class="num">$ (3,734)<span></span>
</td>
<td class="nump">$ 2,936<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Other comprehensive (loss) income, net of tax:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments</a></td>
<td class="num">(1,737)<span></span>
</td>
<td class="nump">374<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Comprehensive (loss) income</a></td>
<td class="num">(5,471)<span></span>
</td>
<td class="nump">3,310<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Less net income attributable to noncontrolling interests</a></td>
<td class="num">(3)<span></span>
</td>
<td class="num">(989)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive (loss) income attributable to Primoris</a></td>
<td class="num">$ (5,474)<span></span>
</td>
<td class="nump">$ 2,321<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e557-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669646-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b,c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3000-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6800702960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Apr. 27, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Document and Entity Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 31,  2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-34145<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">Primoris Services Corporation<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">20-4743916<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">2300 N. Field Street, Suite&#160;1900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Dallas<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">TX<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">75201<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">214<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">740-5600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">PRIM<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,260,436<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001361538<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 13<br> -Subsection a-13<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1-<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6801938864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ContingentConsiderationAssetFairValue', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 900<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1', window );">Change in contingent consideration</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationAssetAbstract', window );"><strong>Contingent consideration</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationAsset', window );">Earnout</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Recurring | Quoted Prices in Active Markets for Identical Assets (Level 1)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure', window );">Cash and cash equivalents</a></td>
<td class="nump">93,474<span></span>
</td>
<td class="nump">$ 120,286<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Recurring | Significant Unobservable Inputs (Level 3)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ContingentConsiderationAssetFairValue', window );">Contingent consideration</a></td>
<td class="nump">938<span></span>
</td>
<td class="nump">938<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Recurring | Interest rate swap | Significant Other Observable Inputs (Level2)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosureAbstract', window );"><strong>Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeLiability', window );">Derivative liability</a></td>
<td class="nump">$ 11,414<span></span>
</td>
<td class="nump">$ 6,443<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ContingentConsiderationAssetFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of contingent consideration asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ContingentConsiderationAssetFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsFairValueDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of right to a contingent consideration asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6411-128476<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116859824&amp;loc=d3e6819-128478<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationAssetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationAssetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFairValueOfDerivativeLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 860<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=118948506&amp;loc=SL51823488-111719<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (a),(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5624163-113959<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226000-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6735051872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Contract liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ContractWithCustomerLiabilityDeferredRevenueCurrent', window );">Deferred revenue</a></td>
<td class="nump">$ 171,553<span></span>
</td>
<td class="nump">$ 186,081<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent', window );">Accrued loss provision</a></td>
<td class="nump">5,294<span></span>
</td>
<td class="nump">6,316<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="nump">176,847<span></span>
</td>
<td class="nump">$ 192,397<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent', window );">Decrease in contract liabilities</a></td>
<td class="num">(15,600)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized included in contract liability at beginning of period</a></td>
<td class="nump">$ 97,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accrued loss provision component of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ContractWithCustomerLiabilityDeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation before accrued loss provision on transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ContractWithCustomerLiabilityDeferredRevenueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in contract with customers liability current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6660310112">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accounts Payable and Accrued Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Accounts Payable and Accrued Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ContractWithCustomerAccountsPayableDueToSubcontractors', window );">Retention amounts included in accounts payable</a></td>
<td class="nump">$ 10,900<span></span>
</td>
<td class="nump">$ 11,300<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrentAbstract', window );"><strong>Accrued liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Payroll and related employee benefits</a></td>
<td class="nump">74,008<span></span>
</td>
<td class="nump">64,705<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current operating lease liability</a></td>
<td class="nump">79,532<span></span>
</td>
<td class="nump">74,036<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedInsuranceCurrent', window );">Casualty insurance reserves</a></td>
<td class="nump">9,902<span></span>
</td>
<td class="nump">9,918<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Corporate income taxes and other taxes</a></td>
<td class="nump">6,822<span></span>
</td>
<td class="nump">9,027<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">22,384<span></span>
</td>
<td class="nump">25,815<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Total accrued liabilities</a></td>
<td class="nump">$ 192,648<span></span>
</td>
<td class="nump">$ 183,501<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ContractWithCustomerAccountsPayableDueToSubcontractors">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount due to subcontractors and retained pending contract completion and customer acceptance of jobs included in accounts payable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ContractWithCustomerAccountsPayableDueToSubcontractors</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedInsuranceCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6935-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedInsuranceCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e7018-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6791261808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of goodwill by reporting unit</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-indent:36pt;margin:0pt;">The carrying amount of goodwill by reportable segment is as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Reporting&#160;Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,194</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,194</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,312</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,312</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,150</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,150</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 215,103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 215,103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Summary of intangible asset categories, amounts and the average amortization periods</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The table below summarizes the intangible asset categories, amounts and the average amortization periods, which are on a straight-line basis (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:8.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted<br/>Average&#160;Life</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:10.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Carrying<br/>Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated<br/>Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:10.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Carrying<br/>Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated<br/>Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Tradename </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">9 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,040</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (13,714)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,326</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,040</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (13,216)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,824</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Customer relationships </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">17 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (26,128)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,872</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (24,353)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Non-compete agreements </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">5 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,900</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,653)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 247</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,900</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,580)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 320</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">3 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (260)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (237)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">16 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,215</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (41,755)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,460</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,215</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (39,386)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,829</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of estimated future amortization expense for intangible assets</a></td>
<td class="text">Estimated future amortization expense for intangible assets is as follows (in thousands):<p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:66.89%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ending December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expense</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020 (remaining nine months)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,448</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,416</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,581</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,862</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,460</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13854-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6781734560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Reportable Segments<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Reportable Segments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Reportable Segments</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 17&#8212;Reportable Segments</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We segregate our business into five reportable segments: the Power segment, the Pipeline segment, the Utilities segment, the Transmission segment, and the Civil segment. Each of our reportable segments is comprised of similar business units that specialize in services unique to the segment. Driving the end-user focused segments are differences in the economic characteristics of each segment, the nature of the services provided by each segment; the production processes of each segment; the type or class of customer using the segment&#8217;s services; the methods used by the segment to provide the services; and the regulatory environment of each segment&#8217;s customers.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a brief description of the reportable segments:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Power segment operates throughout the United States and in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, upgrades, repairs, outages, and maintenance services for entities in the petroleum and petrochemical industries, as well as traditional and renewable power generators.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Pipeline segment operates throughout the United States and specializes in a range of services, including pipeline construction and maintenance, pipeline facility and integrity services, installation of compressor and pump stations, and metering facilities for entities in the petroleum and petrochemical industries, as well as gas, water, and sewer utilities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Utilities segment operates primarily in California, the Midwest, the Atlantic Coast, and the Southeast regions of the United States and specializes in a range of services, including installation and maintenance of new and existing natural gas utility distribution systems and pipeline integrity services for entities in the gas utility market.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Transmission segment operates primarily in the Southeastern, Midwest, Atlantic Coast, and Gulf Coast regions of the United States and specializes in a range of services, including installation and maintenance of new and existing electric utility transmission, substation, and distribution systems for entities in the electric utility market.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Civil segment operates primarily in the Southeastern and Gulf Coast regions of the United States and specializes in highway and bridge construction, airport runway construction, demolition, site work, soil stabilization, mass excavation, flood control, and drainage projects for entities in the petroleum and petrochemical industries, state and municipal departments of transportation, and airports.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">All intersegment revenue and gross profit, which was immaterial, has been eliminated in the following tables. Total assets by segment is not presented as our Chief Operating Decision Maker as defined by ASC 280 does not review or allocate resources based on segment assets.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Segment Revenue</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196,193</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">26.4%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,383</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">22.0%</p></td></tr><tr><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">25.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">20.4%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,170</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">19.8%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,206</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">22.1%</p></td></tr><tr><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 102,784</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">13.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">17.9%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,573</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">14.2%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,712</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">17.6%</p></td></tr><tr><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 743,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 661,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:94.5pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Segment Gross Profit</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Gross profit by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Profit</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Profit</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,682</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.5%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,198</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">13.9%</p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">8.6%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.1%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,602</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">3.1%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,241</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.6%</p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1.7%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.6%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,322</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.0%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,377</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2.0%</p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.4%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,460</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7.9%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:94.5pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Segment Goodwill</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The amount of goodwill recorded by each segment at March 31, 2020 and at December 31, 2019 is presented in Note 6 &#8211; &#8220;<i style="font-style:italic;">Goodwill and Intangible Assets&#8221;</i>. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Geographic Region &#8212; Revenue and Total Assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The majority of our revenue is derived from customers in the United States with approximately 4.2% and 4.6% generated from sources outside of the United States during the three months ended March 31, 2020 and 2019, respectively, principally in Canada. At March 31, 2020 and December 31, 2019, approximately 3.4% and 4.4%, respectively, of total assets were located outside of the United States, principally in Canada.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI http://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6786373584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Dividends and Earnings Per Share<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_DividendsAndEarningsPerShareAbstract', window );"><strong>Dividends and Earnings Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_DividendsAndEarningsPerShareDisclosureTextBlock', window );">Dividends and Earnings Per Share</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 13&#8212;Dividends and Earnings Per Share</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We paid cash dividends during 2020 and 2019 as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Declaration&#160;Date</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Record&#160;Date</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Paid</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount&#160;Per&#160;Share</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">November 2, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 15, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">February 26, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">March 29, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">April 15, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">May 3, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">June 28, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 15, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">August 2, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">September 30, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">October 15, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">October 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 15, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">February 21, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">March 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">April 15, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The payment of future dividends is contingent upon our revenue and earnings, capital requirements and our general financial condition, as well as contractual restrictions and other considerations deemed relevant by the Board of Directors.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The table below presents the computation of basic and diluted (loss) earnings per share for the three months ended March 31, 2020 and 2019 (in thousands, except per share amounts).</p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:87.76%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net (loss) income attributable to Primoris</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,737)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,947</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Denominator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average shares for computation of basic earnings per share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,588</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,770</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of shares issued to independent directors (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of restricted stock units (1)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 410</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average shares for computation of diluted (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">(Loss) earnings per share attributable to Primoris:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.08)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.08)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:27pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:22.5pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">The dilutive effect of shares issued to independent directors and restricted stock units of 9 and 300, respectively, for the three months ended March 31, 2020, were excluded from the weighted average diluted shares outstanding for the three months ended March 31, 2020, as their inclusion would be anti-dilutive.</span></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_DividendsAndEarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_DividendsAndEarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_DividendsAndEarningsPerShareDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for dividends paid or declared and earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_DividendsAndEarningsPerShareDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>prim-20200504x10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:prim="http://www.primoriscorp.com/20200504"
  xmlns:srt="http://fasb.org/srt/2019-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="prim-20200504.xsd" xlink:type="simple"/>
    <context id="As_Of_2_29_2020_x-shwRMOb0GBO7hyW7nj1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <instant>2020-02-29</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_gMw8MOx9OkKszJwWwf-lyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_s9-nFPIh-0G4FBJPghqPyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Quj6nCf540uKRpgXlNtcxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_gsr4UjZmC0igbeSPYHVD9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_6_zdSVeeVECaLnvLtVw7yg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_309aR4C2ckq5KPv-P8LaZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zywOvqclXUO_YxA783HLqQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_4keRjePzk06EVLeS-3ZrAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_kyafOJKauEWQ05vckZzX7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QP1_UDuxrUOqsmY-PIwesA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_t9cywGXHwUu6kcA7hL0ieA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_HWwisHfqBUeJPdLX34peBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_VJSsOg7ML0e6q-NZvFnm5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_62rPEKeKdE-u74ZczWKjDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_auZIDVeeaEyNfAn1LZl2bA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_WnDTPOEv90ybNwg-WesYNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_YcxDFztXrU6eNrqRCCqv3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_SsY5YYUjMkqyDws2ZbO8mg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_k7h8_liM3ESDdhs4XF4ICQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Rv7Jqn0xzUKc3gv2VwHwnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hLyD84j6zk-Js9famkuJYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_qzRK51STIk-KH3qH8F940g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Ae3lZQItx0K2-mvFHkql1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5mGWNOYUnE-shy_TQPGp3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_5_1_2013_To_9_30_2019_srt_TitleOfIndividualAxis_srt_ExecutiveOfficerMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_S1fYm4bIeUmB-U95DnwRrg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-05-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2020-04-01_GQVRTkDjJE6_yla5uCcUcw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2020-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_ICiF_MM2IU6AQRzn-HXucg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_ULdsI2rzwkqYa1P-OiBMAg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_2pdqWWvRPUuWv5CBjT6zNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_vcIjirThkU2jS627cwZ8SQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_l5sC4lS1GEaQOcM6YQIHcQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_ipQo5PacJEaNojKlqEgM_w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_yZJyyipZJ0uiSZw2r_I8EQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_R-QeJ-NuJ02zI4VJMufJOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_e1_JU22DG0y7fA3MdjrFVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_9MpD3Jw7z0-JvR97ax2lZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_DEXeldcFHkmO61_pLytQPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_RbxR4yzRmkmXhep3vHlfAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_MvTx-EBn5kaLBCR-E_K6bQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ByT2cVN--Eir2PlM7pwCNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ojcu7VqickuIKwmzrKNfbQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_8GrSMUy1bkqpOUjjwvIW6w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_eIkKn7nOcEedJA7VjsNSKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_oFZCPIcx8kOapBR-jiBd2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_wU3iyFTnKEWAjcECet9-Fw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_dhWzdtFiu0ylcXdtNPHv1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_yqaSwHCIM0-v5_o_obdgMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_OLuor70oWkOOR8mSGPVOJg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_DlV9FyifVUaZfRV9rZfVmg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ujIQPKSyME2STmcKwYrSHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_lN-JqCcwwUiecqdF5S2v3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_paif7KgojEOhpclTKpKcNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_bn_826A-iEiuP44L8SjF7w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_SENgaCYNCEeANXDOay_Y-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_unR9ANzWFUC3IdUy1d6CwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_vBzJkr8EQkedVVCAiz-rQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_BqgkymYNmU28rqtjylACgQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_-ct_pGiMeE20gjdimSwYiQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_iJWx8qlgLEWHbpmUJKfU6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_iJurGRJYq0GGjNA9nXrdMA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_-MrlejeovkW46I_j0cgUFA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_kiukZSYdcUGnMEvGhHAvfg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Q8POx_H8XkKxR1Zwy3gn-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_N8m0YMptGkmogEKeY2ME-g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_OnQLsr5iUEeT8Vx7jKYDGA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_an2oLxY8PkudCrp5HAmYfA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_3eLcR0pISEa5G8f4kPaEqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember__hz4QAH-LkuA5z06RwbRWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_tqM14KbR_ECU3jjXGOSyww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_C37MQgbQj02h9d3ERvzvLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_x0-QbSv-BEiAIZfaeiZcjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_OYPcN47R70KP_xP5VMHAWQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_M6KO2vhI_U6UX7CLLleL5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_Ic8Euc0fykaxHR4OC5Uayg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_1GU4yyV04kSyAm_2o1wJ3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_f5W4FyIy7ki_AljdCTAbzg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_XvDiEMv21EulY3q56zexJw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Lv18uSsUw0CQm1WAeUeUqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_VR0PqCOtPUmMWn0kkhWhPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ukgEnopK2kC-nf2aiASopg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_gXm08UiE_kiwqLvgSo3RtQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_Pa6jraMpyUqQZil-4dkCWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_ymgSC9ogQU6nUFOjMB6MLg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:UnitPriceContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_1FI4Z8DdZUalaJ9STNRmFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:NonMasterServiceAgreementCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_JCmV75Lj7UynO2HEVhNAHg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:MasterServiceAgreementCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember__nR2NkjKq0uku-ipEksxIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">prim:CostReimbursableContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_TGSKdnOgJkK8W3K5P-gLGw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_6Ke8_r6X50CQx5s-7TNlAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_4iVKQ7sd2EuJ0qwkgnc0Yg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_PfHnWyiRG0Stv8gRMOqnEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:VariableInterestEntitiesByClassificationOfEntityAxis">prim:CarlsbadConstructorsJointVentureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_bqTuAbO75U6XaXM3v6yhDA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:VariableInterestEntitiesByClassificationOfEntityAxis">prim:CarlsbadConstructorsJointVentureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2020_srt_OwnershipAxis_prim_CarlsbadConstructorsJointVentureMember_ShSeZLNsy06lRSucjW6V4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">prim:CarlsbadConstructorsJointVentureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember__WghLiqXmUqDp8Bvg7ppqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_MortgagesMember_HclSayWEYkGjH2wXNwgXmA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MortgagesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_LoansPayableMember_k__8EhZdik2RGzu4TTO4yg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_MortgagesMember_2zMOQz-kmUWIRHKdZMHsXg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MortgagesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_LoansPayableMember_3DGZkPgcZEqlg0IGFeGF-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_-KhC87ZDp0ywYKA-ahqYqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_us-gaap_LoansPayableMember_Ar0eOKE_-UiDbSX7KQ9qvg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithCanadianBankMember_dJ1hOabej06ZRvxVqPF53g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithCanadianBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_GHhjXH-41UOUr6EzZBY52A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CanadianCreditFacilityCibcMember_nbNC3SYoMk-8JWav39d9bQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CanadianCreditFacilityCibcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_LetterOfCreditMember_ft2O3l7eVky5GAGfMEF4ew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithCanadianBankMember_us-gaap_LongtermDebtTypeAxis_us-gaap_LetterOfCreditMember_t1YwmsYFZUCbfBN5Mhbu3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithCanadianBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_srt_RangeAxis_srt_MaximumMember_dqOlgF_sN0u3j9wIGHdmtA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_9t3Sn2wMn0yjWIW5tFyzMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Cb5tD9GbTkS-IBunlpvZWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_6Zo1ynN0Z0aqV3iAOI5rTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_owzvZDCTsEa5RJCfxGMx3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_kRfhtDXXJ02KjpiMC9t3lQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_Yj1-e8uV60SQ_9JwwhGGXg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_rXMjldPM4UeULgZNWgXnBw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_3CeTgvUuOUS_r4xK5B9hnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_d9-e6TN1i0C2HYul6aqSmg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_jkFcNaEyVEmCiZ74-R2hkg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_D5Sg2S9fjUSDw-DiepiajA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_mPq_lpGFRU-T51iPjUM1AQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_8cDD9d-icUanXPWtwZshOA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_WDlZ3IPpoUSqGO_IncDAxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_NuwB4hdNlkSqk6XEVPnNhQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_wAWDHjpjC0C8REjAb8jj1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_nsGXVHvDhEyB2-grVYSIvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_dJpNn0qbNUSzymDO8xs0XA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wQy0Wlk2D0axVbVPmstarg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_orbSU9xILUKAktQcjgqoaw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_b9jHBJEOJUi9cvn-dLUszw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_wtp8iSn3uE2UmRc8lxx-Jw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_IncomeStatementLocationAxis_us-gaap_InterestExpenseMember_VjjYSUoBnEiD-MuTPtpSqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:InterestExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_IncomeStatementLocationAxis_us-gaap_InterestExpenseMember_v3pZhrkNk0iwZBEfABDO5g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:InterestExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_SqVRk02uLESTNwaAOJgzjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_leUB2D8opEii367Dkq4CVQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_9_13_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_LchjH1Nc4keB3qctkoeUng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-09-13</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_BppTxWydRESUWmwbx6-okg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_B7dPJJLw6ESVSX0eDu0CYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_BgoO_I6JNUW1XP_qMmXFbA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_pZ1qhlw6P0K1vR3_OD0YKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_yFl_QqErhk-y5gsOGTfYZw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_gUFxKrdTS063kFcz5QxKrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_5_1_2020_To_5_1_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember__5PeX9PbKkuTJHkNoreKVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-01</startDate>
            <endDate>2020-05-01</endDate>
        </period>
    </context>
    <context id="Duration_2_22_2020_To_2_22_2020_IrdZDsPh306_JNpuPOmsRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <startDate>2020-02-22</startDate>
            <endDate>2020-02-22</endDate>
        </period>
    </context>
    <context id="Duration_10_31_2019_To_10_31_2019_ATqJ5tvWo0qgXOHmiW38bg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <startDate>2019-10-31</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="Duration_8_2_2019_To_8_2_2019_cwuQJ0UWLEi1G2XNvWOOQw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <startDate>2019-08-02</startDate>
            <endDate>2019-08-02</endDate>
        </period>
    </context>
    <context id="Duration_5_3_2019_To_5_3_2019_xCsQiYQHL0-2P_eST2BlhA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <startDate>2019-05-03</startDate>
            <endDate>2019-05-03</endDate>
        </period>
    </context>
    <context id="Duration_2_26_2019_To_2_26_2019_zmvRl3hXAU-0gNSZF2e5cw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <startDate>2019-02-26</startDate>
            <endDate>2019-02-26</endDate>
        </period>
    </context>
    <context id="Duration_11_2_2018_To_11_2_2018_Y2Ao66cOaE2qpnPjm0_tLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <startDate>2018-11-02</startDate>
            <endDate>2018-11-02</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2019_BjsJTruINU-LOSyHj80fxQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_UI69RbtkLEyy-6xSDhaoQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_CvVpUbN0jk6Hwm-GieLxJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_-JgYSOmkQ06Xj6Bdb3oDpA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_KyDFCWDszUCxpfLxiesDjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:VariableInterestEntitiesByClassificationOfEntityAxis">prim:CarlsbadConstructorsJointVentureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockUnitsRSUMember_AU5Inj2WxEmd2J-K_mWlIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_prim_EquityIncentivePlan2013Member_g8CxyEXjHUKugubbz1P8hw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member__lVi64r2bEOudVFXhybLnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_ewyB-67FFUCFuzSnh5AJZw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_24_rIbP0Y02z5KcoyUosnA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:VariableInterestEntitiesByClassificationOfEntityAxis">prim:CarlsbadConstructorsJointVentureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_ud4XQVSNV0OZIN3BWXQsyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">prim:NonUnitedStatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_H7azBe8NyESGS1nMctlE4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_EqblmuX4pku4GFBgcNKT3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_DS6JujiBw0agDLUosCOHKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_prim_ShareBasedCompensationAwardTrancheFourMember_rp5ra39W_UuordibFrRP-g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">prim:ShareBasedCompensationAwardTrancheFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2020-04-01_2mO-ABZ510y6zhBoKkKQ0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2020-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_6KYUxaE6R0WFY8BOMBdMvg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">prim:NonUnitedStatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_6plzbYd0gkaE-7ySmclNmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">prim:NonUnitedStatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_73ST82cJA0enfJ-E-48Byw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember__zH3HAZcIUaUDLkkxOQcnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">prim:NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">prim:JamesConstructionGroupLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-02-25</startDate>
            <endDate>2015-02-25</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_kTV_JK0lw0i5oyZXhNH5Hg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">prim:NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">prim:JamesConstructionGroupLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_2uFZe3IrL0qK7lugwFuxpQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">prim:NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">prim:JamesConstructionGroupLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-02-25</startDate>
            <endDate>2015-02-25</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_-uXUc15HCk-Bpd-qUTgJyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">prim:NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">prim:JamesConstructionGroupLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UtilityTransmissionAndDistributionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:UAndDSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PIAndESegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:PAndUSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">prim:CivilSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Wdlu4I2afEm-YQ_ry6RVhg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_MsIQasilQketwhwh7qqcMg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fT1uVmytCk2_724EJKos9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3Pkr8OsgjkWvKqtJ7vo0rA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_7Lp77EAuK0WjjfwZFYKgkw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:LongTermRetentionPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_15D8d6CY1EqlUj_bbrkCYQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:LongTermRetentionPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_uvG86duz2Ui1trUyMyy4kQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_VIGlX6p8bk26o834sfte7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_xQNxXyLx2kmjO-TWd5IiCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2019_Ucg1JqPm5U6Reis0w7KmXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WhrgXfr05U6NjeAxsjbZRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:TopTenCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_u1ZWj_DlAk6gTaJtuUlm0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:TopTenCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_PipelineCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_HsKkXgDMn0ya9QDmWDiZYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">prim:PipelineCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_IO_YgHRZK0CVP9zM_vMn4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:SuretyBondMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_crN3U11GG0GoRTxf5rfzZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:SuretyBondMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_9_13_2018_To_9_13_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_LG5GZO68mEui2ZAc45tw4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-09-13</startDate>
            <endDate>2018-09-13</endDate>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_KJAv3jgTqk-VEzu2ilQd3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2020_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_ZuiPBQ1d2UeoeraZwEQYrw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">prim:EquityIncentivePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="As_Of_4_27_2020_r_HtyWnGlky5ao-GhfgTYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <instant>2020-04-27</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001361538</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <unit id="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_item_coXTvHw4E0WcPTv7PyIXqA">
        <measure>prim:item</measure>
    </unit>
    <unit id="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA">
        <measure>prim:customer</measure>
    </unit>
    <unit id="Unit_Standard_instrument_fROoiuuhrEmEXQzvnuS3gg">
        <measure>prim:instrument</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw">
        <measure>iso4217:CAD</measure>
    </unit>
    <unit id="Unit_Standard_segment_zK27MSdamEeRnPBVsDPe7g">
        <measure>prim:segment</measure>
    </unit>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      id="Hidden_tjOvB-PZBky6h3YuKeCPmg"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      id="Hidden_g_h8SL-wNEi1LnwbMxDfQg"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_c5pyzNCqAkqoQxHWOEoEOQ_2_1">0001361538</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_VGoz5k3axk2g_SCgIull0w_3_1">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_qnJXkL7WlkazYCjVoTAQYg_4_1">2020</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_9ITsx1eMakGxcm99dVjhZA_5_1">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_MjuwF_ZXJk6f4y5fCmi5XA_6_1">false</dei:AmendmentFlag>
    <us-gaap:PartnersCapitalAccountDistributions
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_bqTuAbO75U6XaXM3v6yhDA"
      decimals="-5"
      id="Hidden_Tyg46aAVyUa4sVZ6Grv-VA"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">0</us-gaap:PartnersCapitalAccountDistributions>
    <us-gaap:PartnersCapitalAccountDistributions
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_PfHnWyiRG0Stv8gRMOqnEA"
      decimals="-5"
      id="Hidden_dfo--DGCX0C_4fMlfujtcQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">0</us-gaap:PartnersCapitalAccountDistributions>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_bqTuAbO75U6XaXM3v6yhDA"
      decimals="-5"
      id="Hidden_G4A3EsmAs0-5lf1fe7W-ow"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">0</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_PfHnWyiRG0Stv8gRMOqnEA"
      decimals="-5"
      id="Hidden_LN7sBvOwh0S4ZLviWccTNQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">0</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="INF"
      id="Hidden_hFXD5kWMwEOcb48HkK7psQ"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">48665138</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="INF"
      id="Hidden_7LS6h5sGk0OKnthB8tRKCQ"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">48254575</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_3_31_2020_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2020-04-01_GQVRTkDjJE6_yla5uCcUcw"
      id="Hidden_fnOPOmlGxkC0CJEcbfBzDg">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      id="Hidden__JXUjXF_fUO7A8Od1LSBcw">us-gaap:AccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      id="Hidden_YU8jmKS8wUqFjBRDNoo_bA">us-gaap:OperatingLeaseLiabilityNoncurrent</us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <dei:DocumentType
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_8bayUDPzzkWBrP6BK85Irg">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_-mCNU4iIYkOEDcRDNvSoNQ">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_9YYeNjJbakG3der0cQlQGA">2020-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_osI7fQ8sIUC4pAR57WgJMw">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_NcrDdHWN4kmsE6tnm2qYsw">001-34145</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_OGwi8Fl6wkOLuy_UEbeyAQ">Primoris Services Corporation</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_pbjrxhfWIEub6SHdB4KL7Q_0_0">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_EAq1cTaEJ0mIP3isnxF2hA_0_2">20-4743916</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_O3wDBQ9z8UuR1FaWNAfz5w_4_0">2300 N. Field Street, Suite&#160;1900</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_N_jzedRvE0aug0D4geIA8Q">Dallas</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_ZtNecI7wskiAIxX3wo9sdQ">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_AKcLFpGOFES_c-P3NxKfeA_5_2">75201</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_ia2JuZL6VUq5YaXoXxr2tg">214</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_OxISWtGqhUG0JB0tgOvs-A">740-5600</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_Hu-X0-Eg3kaYxeoGhhrNyQ">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_2az5JRVsCkCcfjVyZwUvlA_2_1">PRIM</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_kNJLJuo08EmONcjnh2aw9Q_2_2">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_sKayDvG7eUuDVNMykT99Og">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_i3C2T9P4oU6CqLnpHVmojQ">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr__GZ2HoPcx02SiyfOKD7mUQ">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_fTl4p4mBIU25cDujvuZDrQ">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_SfhzcipyDEOwhguLvnxKOw">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_S4xBpfnTgk-Xqw4YNzwElg">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_4_27_2020_r_HtyWnGlky5ao-GhfgTYw"
      decimals="INF"
      id="Narr_uSqTB_UO6ES8jEyhMql6GQ"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">48260436</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_UNxZ3mrC-0ClLQTiYUmqzQ_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">93474000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_A_Oj5Ucv4kCKMr-FvbrLVQ_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">120286000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ReceivablesNetCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_ukHQl7ShDEKkCiIlHAVrcg_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">416412000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_BUZBoDa4dkW83jaebbZ08A_6_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">404911000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_O223mQB6p0WqYWOqJiM6IQ_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">359370000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_pKnnmhP7-E6WNoQGwBnYzA_7_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">344806000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_ABExeFVeyU68W3cy9opQEA_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">47409000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_0UcmTbce0E6O0m_i0QNxBQ_8_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">42704000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_RDDPIGdN80G3VY9q6p3dqg_9_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">916665000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_cyGAu8MZw0yC8w5mz63lHQ_9_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">912707000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_VOEABtyRaki_0KnsmnTv3Q_10_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">363993000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_D1j_5Xw_cEmU_BfFTsQtiQ_10_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">375888000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_mKUP3PqIYkiK_PEC4cp4Ig_11_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">253117000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_tBrQYyJP4UCf9uI6bS__mQ_11_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">242385000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_rzWHUctuWE6loryREskqnw_12_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1090000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_Eqj_mwGWnUK8eZYqLQJZ1A_12_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1100000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc__JqCo5nMPUCEJrA-8KSdTA_13_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">67460000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_O1j8TAYLW06hkFr7HbZnSg_13_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">69829000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_26bd4ZoIJEa5fHhKCeFjYA_14_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">215103000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_-CYtcs6pwEyOZA8Xhs-Qkw_14_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">215103000</us-gaap:Goodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_2TbtDKimf0WGaslsEu080Q_15_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">17675000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_URDcrmj9JUCwIIPodq5LhA_15_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">13453000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_q33TT32Onkmm8LDnPOmQ5g_16_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1835103000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_aUKrb8zWjEqAQ5yQj2CX3w_16_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1830465000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_wDYrN-t5LEuk3uyZYsNuow_19_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">258962000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_UwSJlHU55Ey1MsDoNNqoQQ_19_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">235972000</us-gaap:AccountsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_uWBd2tQewU-ferBoxgIk2g_20_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">176847000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_VJOu9R-qD0y0bLjTUVc8sw_20_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">192397000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_1Egs-5aNNkWkTWMY4INcpA_21_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">192648000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_pdSnq1pCHkqq7Kofv9PpNA_21_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">183501000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:DividendsPayableCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_XOBamjxP70OGYKI5_b0CTw_22_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2895000</us-gaap:DividendsPayableCurrent>
    <us-gaap:DividendsPayableCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_XyXdL-5peEqp0r2tdD6FmA_22_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2919000</us-gaap:DividendsPayableCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_KRqwb9zS5EG1EMTXrB81Bw_23_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">52430000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_qiM4VVmMgE24HEsjAVVSow_23_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">55659000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_7enD_VUPmUqCukpEL9xKyQ_24_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">683782000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_tb3ohMqmNUu9jmVAKdR6Fg_24_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">670448000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_WInfNT-9p0GN893QrcgZIw_25_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">290749000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_3v7N4o_hJ0aS5vHtzyRvnA_25_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">295642000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_lwAe_gLUl0Kf21mq9nzQnw_26_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">176546000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_gwAMlaxdN0aWKNvTQF7O_Q_26_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">171225000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_H7Fn-7Xs90yq--ZoM7yF3w_27_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">17820000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_oAlcJTs5Z06W9P1TPFqS4w_27_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">17819000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_plilYEkE60GoIfJsSO8oFw_28_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">50762000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc__ZErJOgDaUOeiRUhBzF_ZA_28_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">45801000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_cMh7CoSV40elopYAsPAeCQ_29_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1219659000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_0_JbjcFzwkOe5CZrrkfK7g_29_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1200935000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="INF"
      id="Narr_AHOuYtnsIkyA1KwEavJi5A"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="INF"
      id="Narr_5GK6knUzxkK1naJxhckDBw"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="INF"
      id="Narr_Lj93k3f_b0ynuN38-dSLGw"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">90000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="INF"
      id="Narr_nwj4JiyQI02sI4JkzXXutA"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">90000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="INF"
      id="Narr_aHACGDIDeU67WUi0BhokxQ"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">48254575</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="INF"
      id="Narr_B1JWO-Fk1EumHuQXnnrXLw"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">48665138</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_we5GfyWhN0KUCAm5YW9ZrA_32_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_V_DI9G-JEUerf83F6CRQ7w_32_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_ygyjs-6emEyxE9LZyBUlFw_33_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">91414000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_6DQhfWQxz0St8A-uu_MUVw_33_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">97130000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_C5SbaEh3e0mwJKdh-krG2w_34_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">524655000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_IgCkRCClmUeMCJnzFDhXyA_34_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">531291000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_eaSsFemjIki9CbnwMfeGzQ_35_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-1661000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_75Ym84ogi0-PpqJZ2djxIQ_35_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">76000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:MinorityInterest
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_r4L_ZiJY3UehvRcQJMlHUg_36_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1031000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_TfBHElz7vEWADmgDNp0Bbw_36_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1028000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_L5VGzH6-wkKnF3a4YT4q_g_37_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">615444000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_uubce_yLEkWNJyhYWQNm6Q_37_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">629530000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_wE5ZJaQZZ0u6JSNFNqpAdQ_38_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1835103000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_shG5EYMzjUKQKjJdVF4ODg_38_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1830465000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_29_XMCi2-US2jBIGk59nbA_4_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">743243000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_sTSpZeWje0mLA_VwQHyiQg_4_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">661558000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_hiiL9htIEEqeH8WaqjZ5ww_5_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">695433000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_3niiMyTs0EmQFN976iUfQQ_5_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">609098000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_FJj9fMktmE22VNfOk3QRcg_6_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">47810000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_sDEAQM8hQka3DVwY9JfUVw_6_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">52460000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_ubOnelhkDU6dy6XmRrk2kg_7_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">44388000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_PNc-daw12EKl10bV8WBtkg_7_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">42931000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_WHE4wcxR3kyZdCUWLIJqfA_8_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3422000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_2R1C0lqgfUSsr2_GDohZMg_8_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">9529000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_jGg_Wvlq30KfUUl3ZjSdng_10_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">136000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_iFrQUc3UbUKW4irGPYPWQA_10_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-185000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_4nASvJDI4k6PxePlcp5PNA_11_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">12000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_fp156evqrEuBMI1AHjy3xA_11_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-370000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:InvestmentIncomeNet
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_wi6rMwQaNEeTXZhBtaDscQ_12_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">281000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_wf-uWFYJOUeP6W21BMwW8g_12_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">349000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_-MNaAfs-70mUgfuOWYLr9A_13_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">9112000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_E2eJZLkWy0GBvBcWs-33-w_13_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5592000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_qP3WjtxhY0CXcsEH-nT-Tw_14_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-5261000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_o8TZz4BI4kCd-S4c-Qo-QQ_14_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3731000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_z49KqMKq4UW7cBVKb9dMGg_15_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-1527000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_ibU2bwSpzEKv1XhUue8o3w_15_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">795000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_LnYEs2-9E06dMqO3Cgwavg_16_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-3734000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_43PcfVeow0yVcrnySIpasg_16_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2936000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_kpLbfvGJt06WxPuztVbwEw_18_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_E003YIoZxU-1Bxe70BX6AA_18_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">989000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_MJD6q5zLVUOD_IU3qXZE9A_20_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-3737000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_wZV0VSRuOUCshqHM3GYyeQ_20_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1947000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="INF"
      id="Tc_hdQbBlO6G0-2Ze3iabU99A_22_2"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.06</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="INF"
      id="Tc_tjziZImmMkq7-CaALIdQBw_22_5"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.06</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="2"
      id="Tc_64GOTgv2M0-Kj4Wk83LOyA_25_2"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">-0.08</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="2"
      id="Tc_FyEWuN5Lpk--5ddiPxfGeA_25_5"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="2"
      id="Tc_-tJTwqQm6ECUmnSgfHeWkg_26_2"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">-0.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="2"
      id="Tc_ZNVyr1B3W06ZZzoMzA9jIw_26_5"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_AceYiv-wTEaW4k04ZOm5aw_29_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">48588000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_MKLpOSKp8EamVSl-FzSh3w_29_5"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">50770000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_uVUuErdts0SQLof-sFIL6A_30_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">48588000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_jD9zQ5AF3UmTzUfBPguU3A_30_5"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">51188000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_MfLALM-qTUiwMykKy0O2XQ_4_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-3734000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_XwpLPjlO10idI5RZLiuplw_4_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2936000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_diWn05mnZkSAJjN94dgzvw_6_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-1737000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_EkLqZWaVJEiS4TX2cGwgAQ_6_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">374000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_eAGYcScP1U6Uec-xQhVIEQ_7_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-5471000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_WhNBJ2w3B0C7_oLI8lPs8A_7_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3310000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_1KdDNQnodEKkzIJZioxAdA_8_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_vjKv9KNTYkykey_FRaW8FA_8_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">989000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_PWm_MdatWUeA9kRr0g7Zug_9_2"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-5474000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_icpNPCDiREeB5szPFIu4TA_9_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2321000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesIssued
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_qzRK51STIk-KH3qH8F940g"
      decimals="INF"
      id="Tc_nhIc1xwrOkSdeG9vN-h9pg_5_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">48665138</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_qzRK51STIk-KH3qH8F940g"
      decimals="-3"
      id="Tc_5SNd9_hTmkG1aulj0rdpLA_5_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_t9cywGXHwUu6kcA7hL0ieA"
      decimals="-3"
      id="Tc_KXz02vUNPEWagLeYo48Fbg_5_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">97130000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_kyafOJKauEWQ05vckZzX7g"
      decimals="-3"
      id="Tc_c3Zfjdm4C0e5oZENKWGBZw_5_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">531291000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_HWwisHfqBUeJPdLX34peBQ"
      decimals="-3"
      id="Tc_hJNwqSUZuUCZ6bFADh3lNw_5_14"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">76000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QP1_UDuxrUOqsmY-PIwesA"
      decimals="-3"
      id="Tc_qYdhwGc9JUKTEjqs-8nnKg_5_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1028000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_Un-fHdYn7UOyExHLiS4ouw_5_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">629530000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Wdlu4I2afEm-YQ_ry6RVhg"
      decimals="-3"
      id="Tc_4uW32fby8k-Yz5IxqUXh1w_6_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-3737000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_TGSKdnOgJkK8W3K5P-gLGw"
      decimals="-3"
      id="Tc_0PL7HaTRSkGfj8v4ZYnKEg_6_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_0_BeK4ldW0ekfDcydpy_Pg_6_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-3734000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_6Ke8_r6X50CQx5s-7TNlAQ"
      decimals="-3"
      id="Tc_Vj3uBIHp_ECWgTjkT9eE7Q_7_14"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-1737000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc__UAnZI7Fl0iTS-F6NiaAkA_7_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-1737000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_gMw8MOx9OkKszJwWwf-lyQ"
      decimals="INF"
      id="Tc_9VzQbhLQC0GKyA81JZgxpA_8_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">51268</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_MsIQasilQketwhwh7qqcMg"
      decimals="-3"
      id="Tc_g11zQ38P6E259JLbFywo7Q_8_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1174000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_VbrZ4uAuJE-B8VP9R4GqEw_8_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1174000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_MsIQasilQketwhwh7qqcMg"
      decimals="-3"
      id="Tc_dSdFj6cucUGgwoim28Wm4g_9_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">499000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_fc8Kva-If0Wa0YW_XyAlDQ_9_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">499000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <prim:DividendEquivalentUnitsValue
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_MsIQasilQketwhwh7qqcMg"
      decimals="-3"
      id="Tc_SImZygtpPkulgpK07baDeA_10_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">4000</prim:DividendEquivalentUnitsValue>
    <prim:DividendEquivalentUnitsValue
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Wdlu4I2afEm-YQ_ry6RVhg"
      decimals="-3"
      id="Tc_2sPXUrU-FEud3HgYCDz24A_10_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-4000</prim:DividendEquivalentUnitsValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_gMw8MOx9OkKszJwWwf-lyQ"
      decimals="INF"
      id="Tc_A4noo99jFEK5ZakjpPSm4A_11_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">461831</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_MsIQasilQketwhwh7qqcMg"
      decimals="-3"
      id="Tc_A7b_8fhvVUWS6r4DiqwfIQ_11_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">7393000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_QcSBNLH9Qkaz3J7QLRBNhA_11_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">7393000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="INF"
      id="Narr_cXs9zmwmRkqVG8tiUi-Cjw"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.06</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Wdlu4I2afEm-YQ_ry6RVhg"
      decimals="-3"
      id="Tc_4qf2crIHIkGTDshvXKyX8Q_12_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2895000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_jSENgGNujkutcjqX1hGHTA_12_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2895000</us-gaap:DividendsCommonStockCash>
    <us-gaap:SharesIssued
      contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hLyD84j6zk-Js9famkuJYw"
      decimals="INF"
      id="Tc_Xl-_qq9Krk6a6gvqMVJbxw_13_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">48254575</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hLyD84j6zk-Js9famkuJYw"
      decimals="-3"
      id="Tc_oFmVejgip06dC26OqZU7Sw_13_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zywOvqclXUO_YxA783HLqQ"
      decimals="-3"
      id="Tc_E5zrVoHibke3ZAbq1TCMzA_13_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">91414000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_6_zdSVeeVECaLnvLtVw7yg"
      decimals="-3"
      id="Tc_dI5fDSLMa0qUnpAO_kTBIA_13_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">524655000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_4keRjePzk06EVLeS-3ZrAQ"
      decimals="-3"
      id="Tc_N6-hPRkI5ESNNCpM4PDIiA_13_14"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-1661000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_309aR4C2ckq5KPv-P8LaZg"
      decimals="-3"
      id="Tc_yCqZNnGO_kaza_KKU45Zfg_13_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1031000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_b_WjDdxIoEaHtWSlBUcO0Q_13_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">615444000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesIssued
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5mGWNOYUnE-shy_TQPGp3A"
      decimals="INF"
      id="Tc_RStGAl11xEaIn1A8vX8dNg_5_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">50715518</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5mGWNOYUnE-shy_TQPGp3A"
      decimals="-3"
      id="Tc_dlZjsVqKKUixLOT9x2yJUw_5_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_k7h8_liM3ESDdhs4XF4ICQ"
      decimals="-3"
      id="Tc_EEUnNwPNUUq4TLE7KMvDRA_5_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">144048000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_YcxDFztXrU6eNrqRCCqv3g"
      decimals="-3"
      id="Tc_RvNRKiHuPkOK_hPTDqQjMQ_5_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">461075000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Rv7Jqn0xzUKc3gv2VwHwnw"
      decimals="-3"
      id="Tc_q63ygOvFL0mtEFYA-zf2qQ_5_14"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-908000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_SsY5YYUjMkqyDws2ZbO8mg"
      decimals="-3"
      id="Tc_GkJHLXN_zkKClmuSPkKtaA_5_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2763000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_UI69RbtkLEyy-6xSDhaoQg"
      decimals="-3"
      id="Tc_PRhgWvS0pUqu7h_KIqLKpA_5_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">606983000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fT1uVmytCk2_724EJKos9w"
      decimals="-3"
      id="Tc_SjQlclhT10WXl7VNP7ryNg_6_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1947000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember__WghLiqXmUqDp8Bvg7ppqA"
      decimals="-3"
      id="Tc_3Ev7bQ8410CvuomOZH2aMg_6_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">989000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_T_jDMlSv-UeKyFkcdYokYQ_6_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2936000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_4iVKQ7sd2EuJ0qwkgnc0Yg"
      decimals="-3"
      id="Tc_FupdPrN3dUqa6MiaHgfZiw_7_14"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">374000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_vhZWUiDR40OYHZrSqlopuQ_7_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">374000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Quj6nCf540uKRpgXlNtcxA"
      decimals="INF"
      id="Tc_IzGE1YJhJ0CuOi3RMuRNBA_8_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">127384</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3Pkr8OsgjkWvKqtJ7vo0rA"
      decimals="-3"
      id="Tc_jgMg5fxTRUSjzqz2tyUIxQ_8_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2661000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_ES8qNgPX8Uu-TI7v-1p3OA_8_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2661000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3Pkr8OsgjkWvKqtJ7vo0rA"
      decimals="-3"
      id="Tc_LS2KWmFB0kmVPwQlNpSTLA_9_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">487000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_sZ8wPR7n2ke3PtT8JO2Uzg_9_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">487000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <prim:DividendEquivalentUnitsValue
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3Pkr8OsgjkWvKqtJ7vo0rA"
      decimals="-3"
      id="Tc_2Y8Dov-bI0eVQRE_Vl6UcQ_10_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">12000</prim:DividendEquivalentUnitsValue>
    <prim:DividendEquivalentUnitsValue
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fT1uVmytCk2_724EJKos9w"
      decimals="-3"
      id="Tc_efR1M35FHUezu-QTqAUTQQ_10_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-12000</prim:DividendEquivalentUnitsValue>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember__WghLiqXmUqDp8Bvg7ppqA"
      decimals="-3"
      id="Tc_w0z-mDUnrEKlqpTSV0Pghw_11_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_NzarSruPe02o7eMn6IwB3g_11_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="INF"
      id="Narr_cAKKFiJB1EaC6TSQ_u4ziA"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.06</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_fT1uVmytCk2_724EJKos9w"
      decimals="-3"
      id="Tc_qXrLpyql5EuKnIW8gzII0A_12_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3051000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_1oH1LoTAy0S-igDiW5qeEg_12_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3051000</us-gaap:DividendsCommonStockCash>
    <us-gaap:SharesIssued
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Ae3lZQItx0K2-mvFHkql1g"
      decimals="INF"
      id="Tc_Ow4vyY6GOEm9utEUxC4sqQ_13_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">50842902</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Ae3lZQItx0K2-mvFHkql1g"
      decimals="-3"
      id="Tc_jW4OeUxHvEiJXtq-UisnSw_13_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_auZIDVeeaEyNfAn1LZl2bA"
      decimals="-3"
      id="Tc_JmB6zQBmdUC9KE6LEy6pJQ_13_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">147208000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_VJSsOg7ML0e6q-NZvFnm5A"
      decimals="-3"
      id="Tc_MBuM9YTUXkukU3cn1sLZyg_13_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">459959000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_WnDTPOEv90ybNwg-WesYNQ"
      decimals="-3"
      id="Tc_urEBxjaJD0qO59paFqfVFw_13_14"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-534000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_62rPEKeKdE-u74ZczWKjDw"
      decimals="-3"
      id="Tc_xP5Kus7q-0mG78j2eyV8Dw_13_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3747000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_3_31_2019_BjsJTruINU-LOSyHj80fxQ"
      decimals="-3"
      id="Tc_Ih5nWhIzQUao9klk84u3ew_13_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">610385000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_cekFTVLlGUGoDDeSAwnr8A_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-3734000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_mwo-Feb1w0SkKdX-GVjpkw_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2936000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_HP31SQA_J0qMpRAUFGHWkg_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">19797000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_Ep9Al7DORk6ClSYNgCJYGQ_7_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">21700000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_omCwzqR0j0iCP5Aa5iElsQ_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">499000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_AnjBcBQilEW_lXSHiM_dMw_8_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">487000</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_pynR4iVIB0-5_gqGSTWUHA_9_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2311000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_0xbV3DgV3Uez4eXFIe8nOQ_9_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2217000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:UnrealizedGainLossOnDerivatives
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_5ulP3U_RXEyPDa5kTK7BGA_10_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-4970000</us-gaap:UnrealizedGainLossOnDerivatives>
    <us-gaap:UnrealizedGainLossOnDerivatives
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_XpWr5y-iPkqubuymYaHhPg_10_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-1447000</us-gaap:UnrealizedGainLossOnDerivatives>
    <us-gaap:OtherNoncashExpense
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_aZGS2Y8iskuaOmi1yvZLhQ_11_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1821000</us-gaap:OtherNoncashExpense>
    <us-gaap:OtherNoncashExpense
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_e5UCXsYJ5Uqfofh84BpdwQ_11_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">80000</us-gaap:OtherNoncashExpense>
    <us-gaap:IncreaseDecreaseInReceivables
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_MKIcveauEk6zwOeceGdffA_13_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">13911000</us-gaap:IncreaseDecreaseInReceivables>
    <us-gaap:IncreaseDecreaseInReceivables
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_qQmUhcnM_06PaVYIGkgMeA_13_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">24722000</us-gaap:IncreaseDecreaseInReceivables>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_SuVt92-XV02QFFMCQ3pOyw_14_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">15682000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_75O6AD9s1EGG1RrSWswnIQ_14_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2328000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_HHrXNedInUGQpB3HA6E72g_15_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">4849000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_yldkPSw3N0iEY7xtJEU79w_15_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2231000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_s1G0CU9wCEiLYOcpJSZlCw_16_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-204000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_qZT7OwlAMEii9o0WyUmQLA_16_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-182000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_wSKLiklWykmKiHp5aQTPRg_17_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">23934000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_sk9ELzVfkU26qHWIrl4_rw_17_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-59198000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_0UrG-zAfe0CYmBMpi1L10Q_18_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-15389000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_Lq_VlYxu1kqIbFWpO3g7mQ_18_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2590000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <prim:IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_UPNIY8f4Mk-D3WlZvAx-xA_19_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-119000</prim:IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities>
    <prim:IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_Cfpnw_6TM0mYaJn_i3DXdg_19_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1447000</prim:IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_IV6Ptv3BqkCllZbJooWf4w_20_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-179000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_EOXMI-aYvEGl-_uVqMiUQg_20_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-9663000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_8S5wtuHZyEqu6BwiOKrLHg_21_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-756000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_xmEurWBvu0Ck1zjqIVykRw_21_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">288000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_o0bMyfV6GUS3W-n7N5dI8w_22_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-5467000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_IhiruqxOoUWo-azUUgWxqQ_22_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-72096000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_i32BBKw2IkSxWegRoE9hEA_24_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">9311000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_8XfM2Ih_BE2YASaUoi7ftQ_24_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">14377000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_gFSEKxHFjEG3AsGDAYAGLw_25_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6902000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_b_9bNQ6rUEGjmAM7S6R83A_25_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">4398000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_EWCZbeqXPk2_Akm5iW1doQ_26_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-2409000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_TY6bRaYt402QwztAZeyoaw_26_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-9979000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_WL11sbOgGEeZtgDVw_iwmg_28_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">40000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_r90mXsbQx0yUWxSOrwEmTQ_29_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">40000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_VNg0DoX1vUOFR1pxvlhCYw_30_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6800000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc__QecvjCPvkW_6KPY-S3RUw_30_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">23105000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_Cn4o-msjKkim5zfEj8sz7w_31_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">14976000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_0DQXAc7YPEGosOP5oUR4Hg_31_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">17170000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_eRRuZODAY02W8e8myzWG0g_32_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">578000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_HFWNPjWxjUuJgsqx77e27A_32_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1804000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_CiSWg5Hg50eJ7QJU5Ysgfw_33_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">7393000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_yDReh-TRFU2R4wxI0MV8Yw_34_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2919000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_UcW4YBNn40Gacq76--CsAw_34_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3043000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_ws4oqYVoTkqJVuxR1HfuTw_35_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-1285000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_eNYyQ0x_AUG1qtihTaflgg_35_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-26000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_vVaTNXJr6UGySkdQdKhG-Q_36_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-19195000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_XmTGKY1muUOPn8kVO5Pmqw_36_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">4670000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_fN7ecUqoyEG3V7KON7jHkA_37_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">259000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_bHp-eBYig0S-qjLkQRA_LA_37_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">327000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_UwLVarHDgU6XRJxbLxi-2g_38_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-26812000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_v0R61c-FiUW_NqALhKkirA_38_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-77078000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_6zUlzCEfs0GPZp_0iPDBsg_39_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">120286000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_UI69RbtkLEyy-6xSDhaoQg"
      decimals="-3"
      id="Tc_65cr4sX9zk29gDCpLog0gg_39_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">151063000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_7-kVlKHISUmoJYu07_KDpw_40_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">93474000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_3_31_2019_BjsJTruINU-LOSyHj80fxQ"
      decimals="-3"
      id="Tc_89NzAV2hYUutwmv6dyKjHA_40_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">73985000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_V9samQ-FAkuxlmTA5tnQLg_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">4061000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_VKQskpAx_k6o2Fv_W1tt5g_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">4065000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_fdJ_XKPVHUeQlI4XSxN36Q_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-369000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_Osb8DJ6ty02B9Ibcb51n9w_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-707000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_dOCVil4cMEmwVi5vwhitSA_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">34711000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_FZ35Q8T5_UqBDcYrO2bGbw_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">8847000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:DividendsPayableCurrentAndNoncurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_JW8UaKqvlkCzx6GzJ2Ox_g_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2895000</us-gaap:DividendsPayableCurrentAndNoncurrent>
    <us-gaap:DividendsPayableCurrentAndNoncurrent
      contextRef="As_Of_3_31_2019_BjsJTruINU-LOSyHj80fxQ"
      decimals="-3"
      id="Tc_54-L5k_S0U-TF8mBjAXp0Q_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3051000</us-gaap:DividendsPayableCurrentAndNoncurrent>
    <us-gaap:NatureOfOperations
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_gyvbZtt1WUGBum2IwCGxXw">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note&#160;1&#x2014;Nature of Business&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Organization and operations &#x2014; &lt;/span&gt;Primoris Services Corporation is one of the leading providers of specialty contracting services operating mainly in the United States and Canada. We provide a wide range of specialty construction services, fabrication, maintenance, replacement, and engineering services to a diversified base of customers through our five segments. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We have longstanding customer relationships with major utility, refining, petrochemical, power, midstream, and engineering companies, and state departments of transportation. We provide our services to a diversified base of customers, under a range of contracting options. A substantial portion of our services are provided under Master Service Agreements (&#x201c;MSA&#x201d;), which are generally multi-year agreements. The remainder of our services are generated from contracts for specific construction or installation projects. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We are incorporated in the State of Delaware, and our corporate headquarters are located at 2300 N. Field Street, Suite 1900, Dallas, Texas 75201. Unless specifically noted otherwise, as used throughout these consolidated financial statements, &#x201c;Primoris&#x201d;, &#x201c;the Company&#x201d;, &#x201c;we&#x201d;, &#x201c;our&#x201d;, &#x201c;us&#x201d; or &#x201c;its&#x201d; refers to the business, operations and financial results of the Company and its wholly-owned subsidiaries.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Reportable Segments &lt;/span&gt;&#x2014; We segregate our business into five&lt;span style="white-space:pre-wrap;"&gt; reportable segments: the Power, Industrial and Engineering (&#x201c;Power&#x201d;) segment, the Pipeline and Underground (&#x201c;Pipeline&#x201d;) segment, the Utilities and Distribution (&#x201c;Utilities&#x201d;) segment, the Transmission and Distribution (&#x201c;Transmission&#x201d;) segment, and the Civil segment.  See Note 17 &#x2013; &#x201c;&lt;/span&gt;&lt;i style="font-style:italic;"&gt;Reportable Segments&lt;/i&gt;&#x201d; for a brief description of the reportable segments and their operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses were made.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Joint Ventures &lt;/span&gt;&#x2014; We own a 50&lt;span style="white-space:pre-wrap;"&gt;% interest in the Carlsbad Power Constructors joint venture (&#x201c;Carlsbad&#x201d;), which engineered and constructed a gas-fired power generation facility located in Southern California, and its operations are included as part of the Power segment. As a result of determining that we are the primary beneficiary of the variable interest entity (&#x201c;VIE&#x201d;), the results of the Carlsbad joint venture are consolidated in our financial statements. The project was substantially complete as of December 31, 2018, and the warranty period expires in December 2020.  &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Financial information for the joint ventures is presented in Note 10 &#x2013; &lt;i style="font-style:italic;"&gt;&#x201c;Noncontrolling Interests&lt;/i&gt;&#x201d;. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:NatureOfOperations>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="INF"
      id="Narr_KMgKe2y59USQCCsC_MhArw"
      unitRef="Unit_Standard_segment_zK27MSdamEeRnPBVsDPe7g">5</us-gaap:NumberOfReportableSegments>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="INF"
      id="Narr_KtBWtenjW0Omo5VlZqEn-g"
      unitRef="Unit_Standard_segment_zK27MSdamEeRnPBVsDPe7g">5</us-gaap:NumberOfReportableSegments>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_3_31_2020_srt_OwnershipAxis_prim_CarlsbadConstructorsJointVentureMember_ShSeZLNsy06lRSucjW6V4A"
      decimals="2"
      id="Narr_A1FMATzbFE6ooLbp0DWneg"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.50</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_GibbF012IkKh0urJrD_n_A">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note&#160;2&#x2014;Basis of Presentation&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Interim condensed consolidated financial statements&lt;/span&gt; &lt;b style="font-weight:bold;"&gt;&#x2014;&lt;/b&gt; The interim condensed consolidated financial statements for the three month period ended March 31, 2020 and 2019 have been prepared in accordance with Rule&#160;10-01 of Regulation&#160;S-X of the Securities Exchange Act of 1934, as amended (the &#x201c;Exchange Act&#x201d;). As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form&#160;10-K, filed on February&#160;24,&#160;2020, which contains our audited consolidated financial statements for the year ended December 31, 2019, have been omitted. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;This Form 10-Q should be read in conjunction with our most recent Annual Report on Form&#160;10-K. The interim financial information is unaudited. &#160;In the opinion of management, the interim information includes all adjustments (consisting of normal recurring adjustments) necessary for the fair presentation of the interim financial information.&#160;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Customer concentration&lt;/span&gt; &#x2014; We operate in multiple industry segments encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 50% of total revenue; however, the group that comprises the top ten customers varies from year to year. For the three months ended March 31, 2020 and 2019, &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;approximately 50.1% and 49.1%, respectively, of total revenue was generated from our top ten customers. For the three months ended March 31, 2020, one pipeline customer represented approximately 11.3% of total revenue and for the three months ended March 31, 2019 no one single customer represented greater than 10.0% of total revenue.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <prim:ConcentrationRiskNumberOfTopCustomers
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="INF"
      id="Narr_izHFnmcSgU2_eRJBlor3mA"
      unitRef="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA">10</prim:ConcentrationRiskNumberOfTopCustomers>
    <prim:ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="INF"
      id="Narr_xeLqMARSOEuBTyVMu_cyxQ"
      unitRef="Unit_Standard_item_coXTvHw4E0WcPTv7PyIXqA">1</prim:ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue>
    <prim:ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="2"
      id="Narr_giLSD4ll5UqJWzVLw45Hmg"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.50</prim:ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers>
    <prim:ConcentrationRiskNumberOfTopCustomers
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="INF"
      id="Narr_IvZrayWa2USi5jVNlvS0sQ"
      unitRef="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA">10</prim:ConcentrationRiskNumberOfTopCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WhrgXfr05U6NjeAxsjbZRw"
      decimals="3"
      id="Narr_F6j45gTIIUCgsP8k4hL1hQ"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.501</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_u1ZWj_DlAk6gTaJtuUlm0Q"
      decimals="3"
      id="Narr_nmIpU_dtTkK7MdeQIzl7xg"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.491</us-gaap:ConcentrationRiskPercentage1>
    <prim:ConcentrationRiskNumberOfTopCustomers
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_u1ZWj_DlAk6gTaJtuUlm0Q"
      decimals="INF"
      id="Narr_0deb7rHQNUm3SBgrqVDp_w"
      unitRef="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA">10</prim:ConcentrationRiskNumberOfTopCustomers>
    <prim:ConcentrationRiskNumberOfTopCustomers
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WhrgXfr05U6NjeAxsjbZRw"
      decimals="INF"
      id="Narr_6RWutwEK-02TzFrsQQVfAQ"
      unitRef="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA">10</prim:ConcentrationRiskNumberOfTopCustomers>
    <prim:ConcentrationRiskNumberOfCustomers
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_PipelineCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_HsKkXgDMn0ya9QDmWDiZYg"
      decimals="INF"
      id="Narr_tsoghvXaCUmRwOipvGqFjQ"
      unitRef="Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA">1</prim:ConcentrationRiskNumberOfCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_PipelineCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_HsKkXgDMn0ya9QDmWDiZYg"
      decimals="3"
      id="Narr_U8gTHTYoWUqfW-Nx8IOyXA"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.113</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_uaF1edX4uEqw9GkXYIzhow">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note&#160;3&#x2014;Recent Accounting Pronouncements&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recently adopted accounting pronouncements&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;In June 2016, the FASB issued ASU 2016-13, &#x201c;Financial Instruments&#x2014;Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&#x201d;, which introduced an expected credit loss methodology for the measurement and recognition of credit losses on most financial assets, including trade accounts receivables. The expected credit loss methodology under ASU 2016-13 is based on historical experience, current conditions and reasonable and supportable forecasts, and replaces the probable/incurred loss model for measuring and recognizing expected losses under current GAAP. The ASU also requires disclosure of information regarding how a company developed its allowance, including changes in the factors that influenced management&#x2019;s estimate of expected credit losses and the reasons for those changes. The ASU and its related clarifying updates are effective for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted. We adopted the new standard on January 1, 2020, and it did not have a material impact on our estimate of the allowance for uncollectable accounts.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;In August 2018, the FASB issued ASU 2018-13, &#x201c;&lt;i style="font-style:italic;"&gt;Fair Value Measurement (Topic 820): Disclosure Framework&#x2014;Changes to the Disclosure Requirements for Fair Value Measurement&lt;/i&gt;&#x201d;, which eliminates certain disclosure requirements for recurring and nonrecurring fair value measurements. The ASU eliminates such disclosures as the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy, and adds new disclosure requirements for Level 3 measurements. This ASU is effective for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted for any eliminated or modified disclosures. We adopted the new standard on January 1, 2020, and it did not have a material impact on our disclosures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recently issued accounting pronouncements not yet adopted&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;In December 2019, the FASB issued ASU No. 2019-12, &#x201c;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#x201d;, which removes certain exceptions to the general principles in Topic 740 and also clarifies and amends existing guidance to improve consistent application. This ASU is effective for fiscal years beginning after December 15, 2020, and interim periods within those fiscal years. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective, or prospective basis. We are currently evaluating the potential effects of adopting the provisions of ASU No. 2019-12.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_UB31NzQN3kO11Xw05FUwAQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note&#160;4&#x2014;Fair Value Measurements&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;ASC Topic 820, &#x201c;&lt;i style="font-style:italic;"&gt;Fair Value Measurements and Disclosures&lt;/i&gt;&lt;span style="white-space:pre-wrap;"&gt;&#x201d;, defines fair value, establishes a framework for measuring fair value in GAAP and requires certain disclosures about fair value measurements.  ASC Topic 820 addresses fair value GAAP for financial assets and financial liabilities that are re-measured and reported at fair value at each reporting period and for non-financial assets and liabilities that are re-measured and reported at fair value on a non-recurring basis.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;In general, fair values determined by Level&#160;1 inputs use quoted prices (unadjusted) in active markets for identical assets or liabilities. Fair values determined by Level&#160;2 inputs use data points that are observable such as quoted prices, interest rates and yield curves. Fair values determined by Level&#160;3 inputs are &#x201c;unobservable data points&#x201d; for the asset or liability and include situations where there is little, if any, market activity for the asset or liability.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value at March 31, 2020 and December 31, 2019 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;Measurements&#160;at&#160;Reporting&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Significant&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Quoted&#160;Prices&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Significant&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;in&#160;Active&#160;Markets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Observable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unobservable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;for&#160;Identical&#160;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(Level&#160;1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(Level&#160;2)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(Level&#160;3)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Assets as of March&#160;31,&#160;2020:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Cash and cash equivalents &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,474&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Contingent consideration&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Liabilities as of March&#160;31,&#160;&lt;/b&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;2020:  &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,414&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-weight:bold;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Assets as of December&#160;31,&#160;2019:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Cash and cash equivalents &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 120,286&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Contingent consideration&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 938&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Liabilities as of December&#160;31,&#160;&lt;/b&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;2019:  &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Other financial instruments not listed in the table consist of accounts receivable, accounts payable and certain accrued liabilities.  These financial instruments generally approximate fair value based on their short-term nature.  The carrying value of our long-term debt approximates fair value based on comparison with current prevailing market rates for loans of similar risks and maturities.  &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;In the second quarter of 2019, we sold certain assets that included an earnout of $2.0 million, contingent upon the buyer meeting a certain performance target.  The estimated fair value of the contingent consideration on the sale date was approximately $0.9 million. We measured the fair value of the contingent consideration using the income approach, which discounts the future cash payments expected upon meeting the performance target to present value.  The fair value of the contingent consideration was impacted by two unobservable inputs, management&#x2019;s estimate of the probability of meeting the performance target and the estimated discount rate (a rate that approximates our cost of capital). Significant changes in either of those inputs in isolation would result in a different fair value measurement.  During the first quarter of 2020, there was no change to the fair value of the contingent consideration.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The interest rate swap is measured at fair value using the income approach, which discounts the future net cash settlements expected under the derivative contracts to a present value. These valuations primarily utilize indirectly observable inputs, including contractual terms, interest rates and yield curves observable at commonly quoted intervals. See Note 9 &#x2013; &#x201c;&lt;i style="font-style:italic;"&gt;Derivative Instruments&lt;/i&gt;&#x201d; for additional information.&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_3qU97cNJhEiGG35RmM3pIw">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value at March 31, 2020 and December 31, 2019 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;Measurements&#160;at&#160;Reporting&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Significant&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Quoted&#160;Prices&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Significant&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;in&#160;Active&#160;Markets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Observable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unobservable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;for&#160;Identical&#160;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Inputs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(Level&#160;1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(Level&#160;2)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(Level&#160;3)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Assets as of March&#160;31,&#160;2020:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Cash and cash equivalents &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,474&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Contingent consideration&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Liabilities as of March&#160;31,&#160;&lt;/b&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;2020:  &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,414&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;&lt;span style="font-weight:bold;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Assets as of December&#160;31,&#160;2019:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Cash and cash equivalents &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 120,286&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Contingent consideration&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 938&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Liabilities as of December&#160;31,&#160;&lt;/b&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;2019:  &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="As_Of_3_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_CvVpUbN0jk6Hwm-GieLxJQ"
      decimals="-3"
      id="Tc_Kca7gtTEzkKyCBM5y1lqsA_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">93474000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <prim:ContingentConsiderationAssetFairValue
      contextRef="As_Of_3_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_VIGlX6p8bk26o834sfte7A"
      decimals="-3"
      id="Tc_QzrGztNGQEyNKp6XsK3G3g_9_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">938000</prim:ContingentConsiderationAssetFairValue>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="As_Of_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_BgoO_I6JNUW1XP_qMmXFbA"
      decimals="-3"
      id="Tc_RtduprDdbE2Wbze7qGM56Q_11_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">11414000</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="As_Of_12_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_-JgYSOmkQ06Xj6Bdb3oDpA"
      decimals="-3"
      id="Tc_u0UKTloPZkWJCJW3m88hiQ_15_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">120286000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <prim:ContingentConsiderationAssetFairValue
      contextRef="As_Of_12_31_2019_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_xQNxXyLx2kmjO-TWd5IiCA"
      decimals="-3"
      id="Tc_V49ragTwokqAL7afu0DMlQ_16_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">938000</prim:ContingentConsiderationAssetFairValue>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_pZ1qhlw6P0K1vR3_OD0YKQ"
      decimals="-3"
      id="Tc_pb67rDGiUUKLqC4VCfi0aQ_18_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6443000</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:BusinessCombinationContingentConsiderationAsset
      contextRef="As_Of_6_30_2019_Ucg1JqPm5U6Reis0w7KmXA"
      decimals="-5"
      id="Narr_as-K1WaEn0agSVKz8B8-Vg"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2000000.0</us-gaap:BusinessCombinationContingentConsiderationAsset>
    <prim:ContingentConsiderationAssetFairValue
      contextRef="As_Of_6_30_2019_Ucg1JqPm5U6Reis0w7KmXA"
      decimals="-5"
      id="Narr_Mu26eqo5HEisup44ilAY-w"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">900000</prim:ContingentConsiderationAssetFairValue>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Narr_KpEPShpsaEmxMcFlOEJIhQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_LreUDN9-80qX4FmzpTq-1Q">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note&#160;5&#x2014;Revenue&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We generate revenue under a range of contracting types, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts. A substantial portion of our revenue is derived from contracts that are fixed-price or unit-price and is recognized over time as work is completed because of the continuous transfer of control to the customer (typically using an input measure such as costs incurred to date relative to total estimated costs at completion to measure progress). For time and material and cost reimbursable plus fee contracts, revenue is recognized primarily on an input basis, based on contract costs incurred as defined within the respective contracts. Costs to obtain contracts are generally not significant and are expensed in the period incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We evaluate whether two or more contracts should be combined and accounted for as one single performance obligation and whether a single contract should be accounted for as more than one performance obligation. ASC 606 defines a performance obligation as a contractual promise to transfer a distinct good or service to a customer. A contract&#x2019;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Our evaluation requires significant judgment and the decision to combine a group of contracts or separate a contract into multiple performance obligations could change the amount of revenue and profit &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;recorded in a given period. The majority of our contracts have a single performance obligation, as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contract and, therefore, is not distinct. However, occasionally we have contracts with multiple performance obligations. For contracts with multiple performance obligations, we allocate the contract&#x2019;s transaction price to each performance obligation using the observable standalone selling price, if available, or alternatively our best estimate of the standalone selling price of each distinct performance obligation in the contract. The primary method used to estimate standalone selling price is the expected cost plus a margin approach for each performance obligation.  &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;As of March 31, 2020, we had $2.08 billion of remaining performance obligations. We expect to recognize approximately 58% of our remaining performance obligations as revenue during the next &lt;span style="-sec-ix-hidden:Hidden_fnOPOmlGxkC0CJEcbfBzDg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;four&lt;/span&gt;&lt;/span&gt; quarters and substantially all of the remaining balance by the first quarter of 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Accounting for long-term contracts involves the use of various techniques to estimate total transaction price and costs. For long-term contracts, transaction price, estimated cost at completion and total costs incurred to date are used to calculate revenue earned. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular contract.  Total estimated costs, and thus contract revenue and income, can be impacted by changes in productivity, scheduling, the unit cost of labor, subcontracts, materials and equipment. Additionally, external factors such as weather, client needs, client delays in providing permits and approvals, labor availability, governmental regulation, politics and any prevailing impacts from the pandemic caused by the coronavirus may affect the progress of a project&#x2019;s completion, and thus the timing of revenue recognition. To the extent that original cost estimates are modified, estimated costs to complete increase, delivery schedules are delayed, or progress under a contract is otherwise impeded, cash flow, revenue recognition and profitability from a particular contract may be adversely affected. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The nature of our contracts gives rise to several types of variable consideration, including contract modifications (change orders and claims), liquidated damages, volume discounts, performance bonuses, incentive fees, and other terms that can either increase or decrease the transaction price. We estimate variable consideration as the most likely amount to which we expect to be entitled. We include estimated amounts in the transaction price to the extent we believe we have an enforceable right, and it is probable that a significant reversal of cumulative revenue recognized will not occur. Our estimates of variable consideration and the determination of whether to include estimated amounts in the transaction price are based largely on an assessment of our anticipated performance and all information (historical, current and forecasted) that is reasonably available to us at this time. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Contract modifications result from changes in contract specifications or requirements. We consider unapproved change orders to be contract modifications for which customers have not agreed to both scope and price. We consider claims to be contract modifications for which we seek, or will seek, to collect from customers, or others, for customer-caused changes in contract specifications or design, or other customer-related causes of unanticipated additional contract costs on which there is no agreement with customers. Claims can also be caused by non-customer-caused changes, such as rain or other weather delays. Costs associated with contract modifications are included in the estimated costs to complete the contracts and are treated as project costs when incurred. In most instances, contract modifications are for goods or services that are not distinct, and, therefore, are accounted for as part of the existing contract. The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue on a cumulative catch-up basis. In some cases, settlement of contract modifications may not occur until after completion of work under the contract.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;As a significant change in one or more of these estimates could affect the profitability of our contracts, we review and update our contract-related estimates regularly. We recognize adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the cumulative impact of the profit adjustment is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate. In the three months ended March 31, 2020, revenue recognized from performance obligations satisfied in previous periods was $3.6 million. If at any time the estimate of contract profitability indicates an anticipated loss on a contract, the projected loss is recognized in full, including any previously recognized profit, in the period it is identified and recognized as an &#x201c;accrued loss provision&#x201d; which is included in &#x201c;Contract liabilities&#x201d; on the Condensed Consolidated Balance Sheets. For contract revenue recognized over time, the accrued loss provision is adjusted so that the gross profit for the contract remains zero in future periods. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;At March 31, 2020, we had approximately $94.4 million of unapproved contract modifications included in the aggregate transaction prices. These contract modifications were in the process of being negotiated in the normal course of &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;business. Approximately $80.6 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through March 31, 2020.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;In all forms of contracts, we estimate the collectability of contract amounts at the same time that we estimate project costs.  If we anticipate that there may be issues associated with the collectability of the full amount calculated as the transaction price, we may reduce the amount recognized as revenue to reflect the uncertainty associated with realization of the eventual cash collection. For example, when a cost reimbursable project exceeds the client&#x2019;s expected budget amount, the client frequently requests an adjustment to the final amount. Similarly, some utility clients reserve the right to audit costs for significant periods after performance of the work.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The timing of when we bill our customers is generally dependent upon agreed-upon contractual terms, milestone billings based on the completion of certain phases of the work, or when services are provided. Sometimes, billing occurs subsequent to revenue recognition, resulting in unbilled revenue, which is a contract asset. Also, we sometimes receive advances or deposits from our customers before revenue is recognized, resulting in deferred revenue, which is a contract liability. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The caption &#x201c;Contract assets&#x201d; in the Condensed Consolidated Balance Sheets represents the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:54pt;"/&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;unbilled revenue, which arise when revenue has been recorded but the amount will not be billed until a later date;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:54pt;"/&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;retainage amounts for the portion of the contract price earned by us for work performed, but held for payment by the customer as a form of security until we reach certain construction milestones; and&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:54pt;"/&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;contract materials for certain job specific materials not yet installed, which are valued using the specific identification method relating the cost incurred to a specific project. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Contract assets consist of the following (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unbilled revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 268,282&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 251,429&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Retention receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,393&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contract materials (not yet installed)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,872&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 359,370&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 344,806&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Contract assets increased by $14.6 million compared to December 31, 2019 due primarily to higher unbilled revenue.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The caption &#x201c;Contract liabilities&#x201d; in the Condensed Consolidated Balance Sheets represents deferred revenue on billings in excess of contract revenue recognized to date, and the accrued loss provision.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Contract liabilities consist of the following (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,553&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 186,081&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accrued loss provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,294&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,316&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 176,847&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 192,397&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Contract liabilities decreased by $15.6 million compared to December 31, 2019 due primarily to lower deferred revenue.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Revenue recognized for the three months ended March 31, 2020, that was included in the contract liability balance at December 31, 2019 was approximately $97.9 million.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following tables present our revenue disaggregated into various categories.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Master Service Agreements (&#x201c;MSA&#x201d;) and Non-MSA revenue was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:47.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:46.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSA&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Non-MSA&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,095&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 159,098&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 196,193&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,732&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 144,791&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,159&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 147,170&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,774&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 102,784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 796&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,777&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,573&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 270,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 472,835&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 743,243&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:47.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:46.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSA&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Non-MSA&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,195&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 96,188&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145,383&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,849&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 112,965&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,814&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 119,462&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,744&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,206&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 101,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,720&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 650&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,062&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,712&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 292,879&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 368,679&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 661,558&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Revenue by contract type was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:36.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fixed-price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unit-price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cost reimbursable (1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 144,850&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 181&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,162&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 196,193&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,345&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,830&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,348&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,089&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 80,639&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,442&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 147,170&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,636&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 88,789&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 359&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 102,784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,859&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,447&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,267&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,573&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 217,779&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 326,886&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 198,578&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 743,243&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Includes time and material and cost reimbursable plus fee contracts.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:36.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fixed-price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unit-price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cost reimbursable (1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,143&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,613&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,627&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145,383&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 374&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,213&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,814&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,878&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,561&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,206&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,463&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,841&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,139&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,685&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,494&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,533&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,712&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,285&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 259,200&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 256,073&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 661,558&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Includes time and material and cost reimbursable plus fee contracts.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Each of these contract types has a different risk profile. Typically, we assume more risk with fixed-price contracts. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular fixed-price contract. However, these types of contracts offer additional profits when we complete the work for less cost than originally estimated. Unit-price and cost reimbursable contracts generally subject us to lower risk. Accordingly, the associated fees are usually lower than fees earned on fixed-price contracts. Under these contracts, our profit may vary if actual costs vary significantly from the negotiated rates.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-7"
      id="Narr_6FDvIai1aUujS6466FwF6A"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2080000000.00</us-gaap:RevenueRemainingPerformanceObligation>
    <prim:RevenueRemainingPerformanceObligationExpectedTimingPercentage
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2020-04-01_2mO-ABZ510y6zhBoKkKQ0g"
      decimals="2"
      id="Narr_fbn9qCOtm0uC5p8_xT3C3w"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.58</prim:RevenueRemainingPerformanceObligationExpectedTimingPercentage>
    <us-gaap:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-5"
      id="Narr_MUslKSokcEuR3mFiBEtA5g"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3600000</us-gaap:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod>
    <prim:ContractWithCustomerLiabilityModificationOfContract
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-5"
      id="Narr_sD2giYEyVUKt3DehNVhCXw"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">94400000</prim:ContractWithCustomerLiabilityModificationOfContract>
    <us-gaap:ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-5"
      id="Narr_sfWS39XNikWu62teIie_3g"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">80600000</us-gaap:ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract>
    <prim:ContractWithCustomerAssetTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_sMeE3IZXbEeJdZB__ph9-Q">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Contract assets consist of the following (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unbilled revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 268,282&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 251,429&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Retention receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,393&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contract materials (not yet installed)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,872&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,984&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 359,370&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 344,806&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</prim:ContractWithCustomerAssetTableTextBlock>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_458PiA-XP0e1ihHsZJHR1w_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">268282000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_QQZ6P2TrJEC4ixCUrV7eTA_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">251429000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:ContractReceivableRetainage
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_OaVnkJ1Q9kKT-aWgF2M6Gw_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">78216000</us-gaap:ContractReceivableRetainage>
    <us-gaap:ContractReceivableRetainage
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_sZYPqmTY_Uy-3eoBPaBwZg_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">81393000</us-gaap:ContractReceivableRetainage>
    <us-gaap:InventoryForLongTermContractsOrPrograms
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_9hcj7JtwJEeryQOAhfdmyw_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">12872000</us-gaap:InventoryForLongTermContractsOrPrograms>
    <us-gaap:InventoryForLongTermContractsOrPrograms
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_JaGrVCo-h0yjHlE_DLuHDA_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">11984000</us-gaap:InventoryForLongTermContractsOrPrograms>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_WKiHeuukrk6HqlTA1waAeg_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">359370000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_6QuKKvTVmk2GLwAzB8uUzQ_6_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">344806000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <prim:IncreaseDecreaseInContractWithCustomerAssetNetCurrent
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-5"
      id="Narr_CVoQpFLkCEyZ06Uyj4mDVA"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-14600000</prim:IncreaseDecreaseInContractWithCustomerAssetNetCurrent>
    <prim:ContractWithCustomerLiabilityTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_UtpkJqRJrU-EONWEEvMOwA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Contract liabilities consist of the following (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,553&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 186,081&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accrued loss provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,294&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,316&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 176,847&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 192,397&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</prim:ContractWithCustomerLiabilityTableTextBlock>
    <prim:ContractWithCustomerLiabilityDeferredRevenueCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_k8_BR2n2d0iFAG5EkmUF7Q_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">171553000</prim:ContractWithCustomerLiabilityDeferredRevenueCurrent>
    <prim:ContractWithCustomerLiabilityDeferredRevenueCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_IvWs8qV8k0CTT7JW3jN4kA_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">186081000</prim:ContractWithCustomerLiabilityDeferredRevenueCurrent>
    <prim:ContractWithCustomerLiabilityAccruedLossProvisionCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_a5WcuZA-fk2fXMxGdiYPyQ_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5294000</prim:ContractWithCustomerLiabilityAccruedLossProvisionCurrent>
    <prim:ContractWithCustomerLiabilityAccruedLossProvisionCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_klRxPHH6XEmseuicuRcI1A_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6316000</prim:ContractWithCustomerLiabilityAccruedLossProvisionCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_Ll4a-t_vrkesQ36CPO8Rpg_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">176847000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_36P7B5tskUuiZj3s3HQOdw_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">192397000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <prim:IncreaseDecreaseInContractWithCustomerLiabilityCurrent
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-5"
      id="Narr_YC7rN4ulBEea08L8TICXmw"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-15600000</prim:IncreaseDecreaseInContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-5"
      id="Narr_COTt4ZqotU-CpfwCklJQEA"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">97900000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_oAQscpAcCEKiYEUqqM6CHQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Master Service Agreements (&#x201c;MSA&#x201d;) and Non-MSA revenue was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:47.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:46.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSA&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Non-MSA&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,095&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 159,098&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 196,193&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,732&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 144,791&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,159&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 147,170&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,774&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 102,784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 796&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,777&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,573&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 270,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 472,835&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 743,243&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:47.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:46.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSA&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Non-MSA&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,195&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 96,188&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145,383&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,849&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 112,965&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,814&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 119,462&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,744&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,206&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 101,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,720&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 650&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,062&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,712&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:46.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 292,879&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 368,679&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 661,558&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Revenue by contract type was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:36.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fixed-price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unit-price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cost reimbursable (1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 144,850&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 181&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,162&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 196,193&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,345&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,830&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,348&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,089&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 80,639&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,442&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 147,170&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,636&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 88,789&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 359&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 102,784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,859&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,447&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,267&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,573&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 217,779&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 326,886&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 198,578&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 743,243&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Includes time and material and cost reimbursable plus fee contracts.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:36.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fixed-price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unit-price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cost reimbursable (1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,143&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,613&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,627&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145,383&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,227&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 374&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,213&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,814&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,878&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,561&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,206&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,463&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,841&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,139&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,685&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,494&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,533&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,712&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:36.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,285&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 259,200&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 256,073&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 661,558&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Includes time and material and cost reimbursable plus fee contracts.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_oFZCPIcx8kOapBR-jiBd2Q"
      decimals="-3"
      id="Tc_PqZ4_EnmcUeHO17jH4OPEg_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">37095000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_MvTx-EBn5kaLBCR-E_K6bQ"
      decimals="-3"
      id="Tc_wvu2I0M6O0i4pcc6a0fCow_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">159098000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw"
      decimals="-3"
      id="Tc_6S6qi54p-k6-mnDPDytizA_3_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">196193000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_wU3iyFTnKEWAjcECet9-Fw"
      decimals="-3"
      id="Tc_PJ3ivXj8X0iIjupG2KPPzw_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">46732000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ByT2cVN--Eir2PlM7pwCNg"
      decimals="-3"
      id="Tc_Gwa297U6Jkm-jL7GMVjeCQ_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">144791000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw"
      decimals="-3"
      id="Tc_6o_ie-26WE2o5azsbl0TSQ_4_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">191523000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_eIkKn7nOcEedJA7VjsNSKg"
      decimals="-3"
      id="Tc_J3MFtACSTEClhik88hRV4A_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">104011000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_RbxR4yzRmkmXhep3vHlfAw"
      decimals="-3"
      id="Tc_v4J1erUYdUyUz6V6DgZW4g_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">43159000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw"
      decimals="-3"
      id="Tc_VRC4237jcEWrgo8imkgoKg_5_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">147170000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_8GrSMUy1bkqpOUjjwvIW6w"
      decimals="-3"
      id="Tc_CgnUGg0dzk-TkRcrcTseGQ_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">81774000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_DEXeldcFHkmO61_pLytQPA"
      decimals="-3"
      id="Tc_zJhXfdqOW0WsKCwCOAqGzg_6_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">21010000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ"
      decimals="-3"
      id="Tc_H-WHSZuMO0eAilhicT_6bQ_6_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">102784000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_dhWzdtFiu0ylcXdtNPHv1w"
      decimals="-3"
      id="Tc_x6juiFgvv0qL1TLCveJSBA_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">796000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ojcu7VqickuIKwmzrKNfbQ"
      decimals="-3"
      id="Tc_EYz12hP8iEyviBYprhlSRw_7_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">104777000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ"
      decimals="-3"
      id="Tc_fG1SCKaoP0eI9THJYAbYvg_7_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">105573000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_unR9ANzWFUC3IdUy1d6CwQ"
      decimals="-3"
      id="Tc_pf3gtW3Omkyn4E7NK2kT0Q_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">270408000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_SENgaCYNCEeANXDOay_Y-A"
      decimals="-3"
      id="Tc_Lbc-gcC640GtODNyU3Rd6A_8_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">472835000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_RHI0g7RsskeoQJCrIBtkzw_8_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">743243000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_Ic8Euc0fykaxHR4OC5Uayg"
      decimals="-3"
      id="Tc_-2Djm4XN-kyTaHb2Iw-IiQ_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">49195000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_tqM14KbR_ECU3jjXGOSyww"
      decimals="-3"
      id="Tc_4HW61kcsCUOnc7ae2DgizQ_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">96188000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww"
      decimals="-3"
      id="Tc_3Z9vExypEku8n-e65Aa7yw_3_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">145383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_1GU4yyV04kSyAm_2o1wJ3Q"
      decimals="-3"
      id="Tc_X719qxgY7keZeswLSEg1rg_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">21849000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_C37MQgbQj02h9d3ERvzvLw"
      decimals="-3"
      id="Tc_HlOhMVSEakKSfsnZWenRDw_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">112965000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q"
      decimals="-3"
      id="Tc_Y8iWpvU-OUmXyL94W54HLQ_4_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">134814000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_M6KO2vhI_U6UX7CLLleL5w"
      decimals="-3"
      id="Tc_B-kz3-r90keqlHQbdF4Now_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">119462000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember__hz4QAH-LkuA5z06RwbRWg"
      decimals="-3"
      id="Tc_LKjcjZcTs06-zh_TkEAm2g_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">26744000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg"
      decimals="-3"
      id="Tc_VmbsqnKgzUC_zbraDY_9Bw_5_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">146206000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_OYPcN47R70KP_xP5VMHAWQ"
      decimals="-3"
      id="Tc_tBvGinYPf06jlNlR_8L_UA_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">101723000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_3eLcR0pISEa5G8f4kPaEqA"
      decimals="-3"
      id="Tc_dHCKeSClV0qluFHIUAXbiw_6_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">16720000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg"
      decimals="-3"
      id="Tc_VyB4yAqQqUyAY-SP34iA7g_6_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">118443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_f5W4FyIy7ki_AljdCTAbzg"
      decimals="-3"
      id="Tc_jgRN0KevHUqiN5atmXUJEg_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_x0-QbSv-BEiAIZfaeiZcjA"
      decimals="-3"
      id="Tc_XzQgvF023UivYjfnzFOyVg_7_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">116062000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg"
      decimals="-3"
      id="Tc_cU6Ft5XEK0S6yoAnhU4u2A_7_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">116712000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_MasterServiceAgreementCustomersMember_JCmV75Lj7UynO2HEVhNAHg"
      decimals="-3"
      id="Tc_0pbypVJvnkqKgfjQ06VFDw_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">292879000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_MajorCustomersAxis_prim_NonMasterServiceAgreementCustomersMember_1FI4Z8DdZUalaJ9STNRmFw"
      decimals="-3"
      id="Tc_vOjrulieA0yDK137lS494g_8_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">368679000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_2K2roaSls0-jP1nO2HGQrw_8_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">661558000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_2pdqWWvRPUuWv5CBjT6zNQ"
      decimals="-3"
      id="Tc_XgpESQG85Uatiyw7q4Zx9A_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">144850000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_R-QeJ-NuJ02zI4VJMufJOg"
      decimals="-3"
      id="Tc_R3KZqKjLeEaSrjVTn4l1Mw_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">181000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_DlV9FyifVUaZfRV9rZfVmg"
      decimals="-3"
      id="Tc_OMH8BQm3uUSHobnhcbuFbQ_3_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">51162000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw"
      decimals="-3"
      id="Tc_cxdZmlZgjECZxMlXrcS0tg_3_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">196193000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_vcIjirThkU2jS627cwZ8SQ"
      decimals="-3"
      id="Tc_oafOkWwgrEycHQHoCRQ4zw_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">15345000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_e1_JU22DG0y7fA3MdjrFVA"
      decimals="-3"
      id="Tc_Lz47poCAAku3QrnahdEaeA_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">81830000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ujIQPKSyME2STmcKwYrSHQ"
      decimals="-3"
      id="Tc_BTETpoaqJku7hf1mbuSa_g_4_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">94348000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw"
      decimals="-3"
      id="Tc_kSoiYf4ifEaw5yPWrfxCeg_4_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">191523000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_ULdsI2rzwkqYa1P-OiBMAg"
      decimals="-3"
      id="Tc_zwGUS-LxSEG1upldAn4S5Q_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">24089000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_yZJyyipZJ0uiSZw2r_I8EQ"
      decimals="-3"
      id="Tc_x5VglZXgVUaDTbngHO3bWw_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">80639000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_OLuor70oWkOOR8mSGPVOJg"
      decimals="-3"
      id="Tc_hvfcSocmEEejJzXrec3cRw_5_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">42442000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw"
      decimals="-3"
      id="Tc_TP5pSJ7Rik2ztT6YHwYplA_5_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">147170000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_ICiF_MM2IU6AQRzn-HXucg"
      decimals="-3"
      id="Tc_n7fB9dG5JkatxgdCpZJ5UQ_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">13636000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_ipQo5PacJEaNojKlqEgM_w"
      decimals="-3"
      id="Tc_-yugfItyZ0G5nJpUNa6XEg_6_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">88789000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_yqaSwHCIM0-v5_o_obdgMw"
      decimals="-3"
      id="Tc_JF52E_nnEECoJcC0a_CyTw_6_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">359000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ"
      decimals="-3"
      id="Tc_RVrDqMgll0ODk-bDxplpMQ_6_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">102784000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_l5sC4lS1GEaQOcM6YQIHcQ"
      decimals="-3"
      id="Tc_ZTHnc-5nxUetJYCbNXWFCw_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">19859000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_9MpD3Jw7z0-JvR97ax2lZg"
      decimals="-3"
      id="Tc_bGwgqkrh10WDEEeR10fDsQ_7_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">75447000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_lN-JqCcwwUiecqdF5S2v3w"
      decimals="-3"
      id="Tc_NxwMy_09TkierwlOR1i_Xg_7_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">10267000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ"
      decimals="-3"
      id="Tc_lkEglwrp1Ey9Qr1PDWYgbA_7_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">105573000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_paif7KgojEOhpclTKpKcNQ"
      decimals="-3"
      id="Tc_wjy4BAzikEOc1OQjfzMs1Q_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">217779000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_bn_826A-iEiuP44L8SjF7w"
      decimals="-3"
      id="Tc_ObNLC8Ks0k-zf2qov-0ZSw_8_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">326886000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_vBzJkr8EQkedVVCAiz-rQg"
      decimals="-3"
      id="Tc_aVPmP2cD6UawiwmcPVJVWA_8_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">198578000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_He_61xD6Bkexh7uxj7z9IA_8_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">743243000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_iJWx8qlgLEWHbpmUJKfU6A"
      decimals="-3"
      id="Tc_wWTPGeI60k2M60XOuuK3ZQ_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">75143000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_N8m0YMptGkmogEKeY2ME-g"
      decimals="-3"
      id="Tc_DODhLARumUmvpAzcKfXL3g_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6613000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_VR0PqCOtPUmMWn0kkhWhPQ"
      decimals="-3"
      id="Tc_1Zh0yykotkuqeYK6LyCFnQ_3_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">63627000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww"
      decimals="-3"
      id="Tc_i9076VQQ7kCeGRX261-cGA_3_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">145383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_iJurGRJYq0GGjNA9nXrdMA"
      decimals="-3"
      id="Tc_K334d4Pmf0OTnGWPcHWf0Q_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">17227000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_OnQLsr5iUEeT8Vx7jKYDGA"
      decimals="-3"
      id="Tc_yHp0moy0AUKR8fU6Z_e0mA_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">374000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_ukgEnopK2kC-nf2aiASopg"
      decimals="-3"
      id="Tc_0TV0MgOpBEiiYEMpSZHzsg_4_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">117213000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q"
      decimals="-3"
      id="Tc_zFKOAQ7WvUm3XDebNfV44Q_4_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">134814000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_-ct_pGiMeE20gjdimSwYiQ"
      decimals="-3"
      id="Tc_8NovsE4u30aHAwjWpuC4kQ_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">22767000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Q8POx_H8XkKxR1Zwy3gn-A"
      decimals="-3"
      id="Tc_byoCiqTCK0eSL4iOfQt2wg_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">67878000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Lv18uSsUw0CQm1WAeUeUqw"
      decimals="-3"
      id="Tc_LhwewGzmYEWSqnm-hnDx8Q_5_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">55561000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg"
      decimals="-3"
      id="Tc_Y7YUC4peKk-7SY7II5CjFw_5_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">146206000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_BqgkymYNmU28rqtjylACgQ"
      decimals="-3"
      id="Tc_JqdZn1aLxkugKjxPNx2KBw_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">8463000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_kiukZSYdcUGnMEvGhHAvfg"
      decimals="-3"
      id="Tc_hCwynla-xEODeDqpQq2onw_6_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">105841000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_XvDiEMv21EulY3q56zexJw"
      decimals="-3"
      id="Tc_xe2H8-amN0mBAcYTGcMydQ_6_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">4139000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg"
      decimals="-3"
      id="Tc_GHWYsOEWSk-uZEivO9NP7Q_6_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">118443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_-MrlejeovkW46I_j0cgUFA"
      decimals="-3"
      id="Tc_toD1WPhXZUmX89SEkxwzBA_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">22685000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_an2oLxY8PkudCrp5HAmYfA"
      decimals="-3"
      id="Tc_RG81UeEmUUGSQNYp9lBWtA_7_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">78494000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_gXm08UiE_kiwqLvgSo3RtQ"
      decimals="-3"
      id="Tc_lyKF_CuVZEaVAtHhCytiXA_7_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">15533000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg"
      decimals="-3"
      id="Tc_OXWLh6KYnUyqm5VBVr0GjA_7_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">116712000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_Pa6jraMpyUqQZil-4dkCWw"
      decimals="-3"
      id="Tc_peh8ZQG6MUaD8_7kl8DZ9A_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">146285000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_UnitPriceContractsMember_ymgSC9ogQU6nUFOjMB6MLg"
      decimals="-3"
      id="Tc_PIiVQD2zCUmJdTMJPpQ27Q_8_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">259200000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_ContractWithCustomerBasisOfPricingAxis_prim_CostReimbursableContractsMember__nR2NkjKq0uku-ipEksxIQ"
      decimals="-3"
      id="Tc_w1TK7GOr3EqaLC0dM0OZ2Q_8_9"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">256073000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_jMZeV5rJzkiUeQ8-gxpt7A_8_12"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">661558000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_WSzyADadT06L8oxoW4LnyA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note&#160;6&#x2014;Goodwill and Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-indent:36pt;margin:0pt;"&gt;The carrying amount of goodwill by reportable segment is as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Reporting&#160;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,194&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,194&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,312&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,312&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,032&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,032&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,150&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,150&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total Goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 215,103&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 215,103&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The table below summarizes the intangible asset categories, amounts and the average amortization periods, which are on a straight-line basis (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:8.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;br/&gt;Average&#160;Life&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:10.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Carrying&lt;br/&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intangible assets, net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:10.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Carrying&lt;br/&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intangible assets, net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Tradename &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;9 years&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,040&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,714)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,326&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,040&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,216)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,824&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Customer relationships &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;17 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,128)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,872&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (24,353)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Non-compete agreements &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,900&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,653)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 247&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,900&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,580)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 320&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;3 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 275&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (260)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 275&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (237)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;16 years&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,215&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (41,755)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,460&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,215&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (39,386)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,829&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Amortization expense of intangible assets was $2.4 million and $2.7 million for the three months ended March 31, 2020 and 2019, respectively. Estimated future amortization expense for intangible assets is as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:66.89%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Estimated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intangible&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Years&#160;Ending December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Expense&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020 (remaining nine months)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,448&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,577&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,416&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,581&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,862&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,460&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_wGpwJI7oUkeuL3DJxUWlsw">&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-indent:36pt;margin:0pt;"&gt;The carrying amount of goodwill by reportable segment is as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Reporting&#160;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,194&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,194&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,415&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,312&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,312&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,032&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,032&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,150&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,150&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total Goodwill&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 215,103&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 215,103&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_6Zo1ynN0Z0aqV3iAOI5rTA"
      decimals="-3"
      id="Tc_rJCV5TXKJkmjQgW0Uv1PRw_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">26194000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_3CeTgvUuOUS_r4xK5B9hnQ"
      decimals="-3"
      id="Tc_aFyyKdGDE0CVhxVXGTsowA_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">26194000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_owzvZDCTsEa5RJCfxGMx3Q"
      decimals="-3"
      id="Tc_verVpAKtx0KQITVT_zNXvg_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">52415000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_d9-e6TN1i0C2HYul6aqSmg"
      decimals="-3"
      id="Tc_y3uYyzetUEWjH9lkv7VAjA_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">52415000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_Cb5tD9GbTkS-IBunlpvZWw"
      decimals="-3"
      id="Tc_jWMQssaG20KxqLdNOeSD3A_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">37312000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_rXMjldPM4UeULgZNWgXnBw"
      decimals="-3"
      id="Tc_EKGJlRT_rUepTwnHyQS5Ig_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">37312000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_9t3Sn2wMn0yjWIW5tFyzMw"
      decimals="-3"
      id="Tc_4o0xU2LZ80W5Lzty0uVGKQ_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">59032000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_Yj1-e8uV60SQ_9JwwhGGXg"
      decimals="-3"
      id="Tc_nSHAZ3BU30KicHbr0iV19Q_6_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">59032000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_kRfhtDXXJ02KjpiMC9t3lQ"
      decimals="-3"
      id="Tc_CGfrM6LlNEeuQUWtM2KgWg_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">40150000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_jkFcNaEyVEmCiZ74-R2hkg"
      decimals="-3"
      id="Tc_ueqPpND93EmL3n4BjTovXg_7_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">40150000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_t74q2HInLUCjg8PViWvhLw_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">215103000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_3_31_2019_BjsJTruINU-LOSyHj80fxQ"
      decimals="-3"
      id="Tc_zdKtbo8qHESdtoTecym0hQ_8_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">215103000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_3vuGbLDdfUKb3R7IA3ys1Q">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The table below summarizes the intangible asset categories, amounts and the average amortization periods, which are on a straight-line basis (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:8.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;br/&gt;Average&#160;Life&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:10.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Carrying&lt;br/&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intangible assets, net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:10.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Carrying&lt;br/&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;br/&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intangible assets, net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Tradename &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;9 years&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,040&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,714)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,326&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,040&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,216)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,824&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Customer relationships &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;17 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,128)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,872&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (24,353)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Non-compete agreements &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,900&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,653)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 247&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,900&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,580)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 320&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;3 years&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 275&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (260)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 275&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (237)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;16 years&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,215&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (41,755)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,460&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,215&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (39,386)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,829&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_D5Sg2S9fjUSDw-DiepiajA"
      id="Tc_dGxb23JVVEiZrUyPpKnpXg_3_2">P9Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_NuwB4hdNlkSqk6XEVPnNhQ"
      decimals="-3"
      id="Tc_Tag3-L1Za0W-iUT0y1B2bg_3_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">16040000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_NuwB4hdNlkSqk6XEVPnNhQ"
      decimals="-3"
      id="Tc_071XQ_jGKE2s58IzNR1fRQ_3_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">13714000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_NuwB4hdNlkSqk6XEVPnNhQ"
      decimals="-3"
      id="Tc_igcPhPIzUUClVX3Ozae-WA_3_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2326000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wQy0Wlk2D0axVbVPmstarg"
      decimals="-3"
      id="Tc_0uRbE3FDh0W-DzwcnARY3g_3_14"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">16040000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wQy0Wlk2D0axVbVPmstarg"
      decimals="-3"
      id="Tc_TSdtMdgwx06EbA1huGagZw_3_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">13216000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_wQy0Wlk2D0axVbVPmstarg"
      decimals="-3"
      id="Tc_oAbN_GcQL0S8Af_1Zqaonw_3_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2824000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_WDlZ3IPpoUSqGO_IncDAxw"
      id="Tc_icOSplNymUWLzSVEFEGQPQ_4_2">P17Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_dJpNn0qbNUSzymDO8xs0XA"
      decimals="-3"
      id="Tc_qSVw_1EagkuWA7Du9csGiw_4_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">91000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_dJpNn0qbNUSzymDO8xs0XA"
      decimals="-3"
      id="Tc_IRalFdGEMUWsVNqD1ZhdNw_4_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">26128000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_dJpNn0qbNUSzymDO8xs0XA"
      decimals="-3"
      id="Tc_NSpdd7EMyUyZ6cT27_XaPw_4_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">64872000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_wtp8iSn3uE2UmRc8lxx-Jw"
      decimals="-3"
      id="Tc_ZAIibiMPPUeMn7ZBgMmXOg_4_14"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">91000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_wtp8iSn3uE2UmRc8lxx-Jw"
      decimals="-3"
      id="Tc_y3S3QigwDEW86pp_5jZlUg_4_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">24353000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_wtp8iSn3uE2UmRc8lxx-Jw"
      decimals="-3"
      id="Tc_eE8Au6xK9EOnxCgcQRWELg_4_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">66647000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_8cDD9d-icUanXPWtwZshOA"
      id="Tc_IODAIlweuk2fYK_ZFkevug_5_2">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_nsGXVHvDhEyB2-grVYSIvw"
      decimals="-3"
      id="Tc_pXa8P_DEmEWSFzgosiS_qw_5_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1900000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_nsGXVHvDhEyB2-grVYSIvw"
      decimals="-3"
      id="Tc_9rB-yd5dQEC5wmbeWoarkg_5_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1653000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_nsGXVHvDhEyB2-grVYSIvw"
      decimals="-3"
      id="Tc_R3OPSKghqUizI6rdO8MLsw_5_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">247000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_b9jHBJEOJUi9cvn-dLUszw"
      decimals="-3"
      id="Tc_aefCNEtGIES3TfDq7lCH9Q_5_14"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1900000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_b9jHBJEOJUi9cvn-dLUszw"
      decimals="-3"
      id="Tc_G8A5jShkJ0Suwt_Cn6tqyA_5_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1580000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_NoncompeteAgreementsMember_b9jHBJEOJUi9cvn-dLUszw"
      decimals="-3"
      id="Tc_1PVoVPKanUiNR3DNVbe6nA_5_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">320000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_mPq_lpGFRU-T51iPjUM1AQ"
      id="Tc_IXPUgVv1dE-eLy2XXPwMSA_6_2">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_wAWDHjpjC0C8REjAb8jj1A"
      decimals="-3"
      id="Tc_E3jLuSwBPk-z5Cu1N9SwqQ_6_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">275000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_wAWDHjpjC0C8REjAb8jj1A"
      decimals="-3"
      id="Tc_wfYFhFQ5pEaf3LFlysTOaQ_6_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">260000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_3_31_2020_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_wAWDHjpjC0C8REjAb8jj1A"
      decimals="-3"
      id="Tc_2cLP2d4AQUe5Cd47qUVpDA_6_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">15000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_orbSU9xILUKAktQcjgqoaw"
      decimals="-3"
      id="Tc_cDtmmQaoWUutSpMt5QGR8w_6_14"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">275000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_orbSU9xILUKAktQcjgqoaw"
      decimals="-3"
      id="Tc_XwqS6CtPEEa0Og_NK82p-Q_6_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">237000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember_orbSU9xILUKAktQcjgqoaw"
      decimals="-3"
      id="Tc_91wrSUkhfUylW1-tNMq3Qw_6_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">38000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tc_Pf_9Jpp8qEOjL28qIxtZwQ_7_2">P16Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_8aluaAmxGUCHpgNO9YttYA_7_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">109215000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_YCBUXqklo02dBHCUlEhS3A_7_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">41755000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_kEoVzawsPE-K4umVVIcC1A_7_11"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">67460000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_A8ipsDf72EGjkI-coDWazQ_7_14"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">109215000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_hDFqigNCe0ufhdqXsEAJzA_7_17"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">39386000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_Dk3g6xT39kyK5o9zIIzDvw_7_20"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">69829000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-5"
      id="Narr_qh4hB1tuuE2V11cH7vS3NQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2400000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-5"
      id="Narr_0rhFxebt0EmQunAXZaBcHw"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Group_o0v9ZqouX0CpossdI0ExeQ">Estimated future amortization expense for intangible assets is as follows (in thousands):&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:66.89%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Estimated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intangible&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Years&#160;Ending December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Expense&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020 (remaining nine months)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,448&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,577&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,416&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,581&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,862&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,460&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_arl9yGFJ7EetJqgEE06spA_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6448000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_kCXDdx7yk0GeS0hPsbcSew_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">7577000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_iHhd5zusdECUtcQwENqz6w_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6416000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_X-E7xOlGN0mQlsPSIF4OTg_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5581000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_cYvz8eo-TUaoNaZE8e18ng_9_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">4862000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_WjGp6J24EEmQf5tA49iYZg_10_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">36576000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_ss5dRgzMIkWHqP1SQiL30Q_11_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">67460000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_bxUzdBBpZkCA-xC9WZrtWw">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 7&#x2014;Accounts Payable and Accrued Liabilities&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;At March 31, 2020 and December 31, 2019, accounts payable included retention amounts of approximately $10.9 million and $11.3 million, respectively. &#160;These amounts owed to subcontractors have been retained pending contract completion and customer acceptance of jobs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following is a summary of accrued liabilities (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.24%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Payroll and related employee benefits &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,008&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,705&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current operating lease liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,532&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,036&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Casualty insurance reserves&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,902&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,918&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Corporate income taxes and other taxes &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,822&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,027&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,384&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,815&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 192,648&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 183,501&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <prim:ContractWithCustomerAccountsPayableDueToSubcontractors
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-5"
      id="Narr_HtMFcIgcbUG-u27p0a-GJw"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">10900000</prim:ContractWithCustomerAccountsPayableDueToSubcontractors>
    <prim:ContractWithCustomerAccountsPayableDueToSubcontractors
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-5"
      id="Narr_wZnNtgExEUKZHIKWZ31zyA"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">11300000</prim:ContractWithCustomerAccountsPayableDueToSubcontractors>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_3QHNywjgdkmuPEjRTA4fqg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following is a summary of accrued liabilities (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.24%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Payroll and related employee benefits &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,008&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,705&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current operating lease liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,532&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,036&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Casualty insurance reserves&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,902&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,918&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Corporate income taxes and other taxes &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,822&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,027&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,384&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,815&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 192,648&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 183,501&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_E-enzmekC0COJQKCIL5Ftg_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">74008000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_w3SAwMfKDUOqMIe6t33aaQ_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">64705000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_sBDVbJzDUkG_UzIOVXCMhQ_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">79532000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_G0GLtCJP6UqY69efT0MBjg_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">74036000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:AccruedInsuranceCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_5L-GD9pFME6EhBaBEg3UYg_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">9902000</us-gaap:AccruedInsuranceCurrent>
    <us-gaap:AccruedInsuranceCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_QaICMdSO5kmpiyuiztTHSg_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">9918000</us-gaap:AccruedInsuranceCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_66c2s8xcBUmTtnfqYFPeLw_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6822000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_oWxv-vmx-0Cohj13yjaE8w_6_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">9027000</us-gaap:TaxesPayableCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_NUO8nCsFhkuuCNkywamJ-A_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">22384000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_dvNoEiY_tUaCZRYyUCqjrA_7_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">25815000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_EG5bx-YRukC5t2ai8EVcLg_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">192648000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_LB8naFbdM0isBgCT_oIVog_8_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">183501000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_nhiP3WQNLUiO_eHOgJ7UXQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 8&#x2014;Credit Arrangements&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Long-term debt and credit facilities consists of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Term loan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 200,750&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 203,500&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revolving credit facility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Commercial equipment notes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,309&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,114&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Mortgage notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,854&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,474&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total debt&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 343,913&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 352,088&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unamortized debt issuance costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (734)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (787)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total debt, net&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 343,179&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 351,301&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Less: current portion &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (52,430)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (55,659)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Long-term debt, net of current portion &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 290,749&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 295,642&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The weighted average interest rate on total debt outstanding at March 31, 2020 and December 31, 2019 was 3.9% and 4.0%, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Credit Agreement&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:39pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Our amended and restated credit agreement (&#x201c;Credit Agreement&#x201d;) consists of a $220.0 million term loan and a $200.0 million revolving credit facility (&#x201c;Revolving Credit Facility&#x201d;), whereby the lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $200.0 million committed amount. The Credit Agreement also includes the ability to increase the borrowing capacity thereunder by $75.0 million, subject to obtaining additional or increased lender commitments. The maturity date of the Credit Agreement is July 9, 2023. At March 31, 2020, there were no outstanding borrowings under the Revolving Credit Facility, commercial letters of credit outstanding were $39.5 million, and available borrowing capacity was $160.5 million.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The Credit Agreement contains various restrictive and financial covenants including, among others, a senior debt/EBITDA ratio and debt service coverage requirements. In addition, the Credit Agreement includes restrictions on investments, change of control provisions and provisions in the event we dispose of more than 20% of our total assets. We were in compliance with the covenants for the Credit Agreement at March 31, 2020.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Canadian Credit Facilities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We have a demand credit facility for $4.0 million in Canadian dollars with a Canadian bank for purposes of issuing commercial letters of credit in Canada.&#160;At March 31, 2020, commercial letters of credit outstanding were $0.6 million in Canadian dollars, and the available borrowing capacity was $3.4 million in Canadian dollars.&#160;The credit facility contains a working capital restrictive covenant for OnQuest Canada, ULC, our wholly owned subsidiary.&#160;At March 31, 2020, OnQuest Canada, ULC was in compliance with the covenant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We have a credit facility for $10.0 million in Canadian dollars with CIBC Bank for working capital purposes in the normal course of business (&#x201c;Working Capital Credit Facility&#x201d;). At March 31, 2020, there were no outstanding borrowings under the Working Capital Credit Facility, and available borrowing capacity was $10.0 million in Canadian dollars. The Working Capital Credit Facility contains a cross default restrictive covenant where a default under our Credit Agreement will represent a default in the Working Capital Credit Facility.&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_OEJTutv-jEGx3IGWDf0KJQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Long-term debt and credit facilities consists of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Term loan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 200,750&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 203,500&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revolving credit facility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Commercial equipment notes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,309&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,114&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Mortgage notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,854&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,474&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total debt&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 343,913&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 352,088&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unamortized debt issuance costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (734)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (787)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total debt, net&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 343,179&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 351,301&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Less: current portion &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (52,430)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (55,659)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Long-term debt, net of current portion &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 290,749&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 295,642&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LongTermDebt
      contextRef="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_LoansPayableMember_k__8EhZdik2RGzu4TTO4yg"
      decimals="-3"
      id="Tc_4MP96U4fKUGlVJNNyClP7g_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">200750000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_LoansPayableMember_3DGZkPgcZEqlg0IGFeGF-Q"
      decimals="-3"
      id="Tc_ZpJELL9Hv0Klkwl56ePfmg_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">203500000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_yFl_QqErhk-y5gsOGTfYZw"
      decimals="-3"
      id="Tc_yvw8rNLBxUCFrQ1HHQZBYQ_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">93309000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member_gUFxKrdTS063kFcz5QxKrA"
      decimals="-3"
      id="Tc_5GENsr33oES7br5wM5VLUA_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">105114000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:LongTermDebt
      contextRef="As_Of_3_31_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_MortgagesMember_HclSayWEYkGjH2wXNwgXmA"
      decimals="-3"
      id="Tc_T7zZ57_sIEmsxmZGy-00PQ_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">49854000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_MortgagesMember_2zMOQz-kmUWIRHKdZMHsXg"
      decimals="-3"
      id="Tc_GAlN2YpL5ki_kNYc3It2QQ_6_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">43474000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_Z6Zm1nX78UqXxtWpau86sw_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">343913000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_jT3SIbk_P0WOMp5KZmuDUg_7_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">352088000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_NVzj5TRMrEe5-Aq_gAFb_Q_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">734000</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_sziVDlL_GUmayNH3CO1Z3A_8_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">787000</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:LongTermDebt
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_phH7rxFMB0OLMF4Sh_p0RA_9_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">343179000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_4TECwAWyckKU30DB-Ry2SA_9_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">351301000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_TxmN2flFCk--E2acw6SDrQ_10_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">52430000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_c4Oc-ccPLkC2tJCgCL5wNA_10_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">55659000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_CuhHNI0YtEefAsGNIyXkTw_11_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">290749000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_fkLfBMfITEKcEMw0aKRYAA_11_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">295642000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="3"
      id="Narr__Je92r47bEGla_72NzsgSg"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.039</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="3"
      id="Narr_zfg7S1tENUmlcNpOhqXYrQ"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.040</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_us-gaap_LoansPayableMember_Ar0eOKE_-UiDbSX7KQ9qvg"
      decimals="-5"
      id="Narr_9nHAA-sDJ0mUNq4oBIZKIg"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">220000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_GHhjXH-41UOUr6EzZBY52A"
      decimals="-5"
      id="Narr_cUauRXmLF02UgIFAkeAsQA"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">200000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_LetterOfCreditMember_ft2O3l7eVky5GAGfMEF4ew"
      decimals="-5"
      id="Narr_drtKOphlZUWkZE1ssLkRbg"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">200000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <prim:PotentialIncreasePerAccordionFeature
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_73ST82cJA0enfJ-E-48Byw"
      decimals="-5"
      id="Narr_bHd7q00o_UmOC56e5zC8aA"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">75000000.0</prim:PotentialIncreasePerAccordionFeature>
    <us-gaap:LineOfCredit
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_GHhjXH-41UOUr6EzZBY52A"
      decimals="-3"
      id="Narr_C-Df9JOfDUOHifiu4LjcSg"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">0</us-gaap:LineOfCredit>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_us-gaap_LongtermDebtTypeAxis_us-gaap_LetterOfCreditMember_ft2O3l7eVky5GAGfMEF4ew"
      decimals="-5"
      id="Narr_0bq_9F71YUSvwIhtM3wPUQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">39500000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_-KhC87ZDp0ywYKA-ahqYqA"
      decimals="-5"
      id="Narr_4V1IctuTQkyy9ugFcHEOTQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">160500000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <prim:DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_RangeAxis_srt_MinimumMember_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember_uvG86duz2Ui1trUyMyy4kQ"
      decimals="2"
      id="Narr_KRiYcV5MjUaOxv9YP91x2w"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.20</prim:DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithCanadianBankMember_dJ1hOabej06ZRvxVqPF53g"
      decimals="-5"
      id="Narr_jDiLvFBjpka-3WOE0Sgz8w"
      unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw">4000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithCanadianBankMember_us-gaap_LongtermDebtTypeAxis_us-gaap_LetterOfCreditMember_t1YwmsYFZUCbfBN5Mhbu3w"
      decimals="-5"
      id="Narr_f1i3VwDDP0mFhCV79WBoXw"
      unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw">600000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CreditFacilityWithCanadianBankMember_dJ1hOabej06ZRvxVqPF53g"
      decimals="-5"
      id="Narr_LKH6zKCn0ECWEDttsjn3zg"
      unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw">3400000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CanadianCreditFacilityCibcMember_nbNC3SYoMk-8JWav39d9bQ"
      decimals="-5"
      id="Narr_BKppVjA10E--V_diVWIixQ"
      unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw">10000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CanadianCreditFacilityCibcMember_nbNC3SYoMk-8JWav39d9bQ"
      decimals="-5"
      id="Narr__cwVK6cgMUO_Qqlo9-Frpg"
      unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw">0</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_3_31_2020_us-gaap_CreditFacilityAxis_prim_CanadianCreditFacilityCibcMember_nbNC3SYoMk-8JWav39d9bQ"
      decimals="-5"
      id="Narr_FaQh8FAxTEi_mhv8KXBkEQ"
      unitRef="Unit_Standard_CAD_AJfo6ukmJ0yce6xtJ48IDw">10000000.0</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_pgAFLy8on020HpRhMF4Dwg">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 9 &#x2014; Derivative Instruments&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:36pt;"/&gt;&lt;span style="white-space:pre-wrap;"&gt;We are exposed to certain market risks related to changes in interest rates.  To monitor and manage these market risks, we have established risk management policies and procedures. We do not enter into derivative instruments for any purpose other than hedging interest rate risk. None of our derivative instruments are used for trading purposes.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:36pt;"/&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Interest Rate Risk. &lt;/span&gt;We are exposed to variable interest rate risk as a result of variable-rate borrowings under our Credit Agreement. To manage fluctuations in cash flows resulting from changes in interest rates on a portion of our &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;variable-rate debt, we entered into an interest rate swap agreement on September 13, 2018 with an initial notional amount of $165.0 million, or 75% of the debt outstanding under our Term Loan, which was not designated as a hedge for accounting purposes. The notional amount of the swap will be adjusted down each quarter by 75% of the required principal payments made on the Term Loan. The swap effectively changes the variable-rate cash flow exposure on the debt obligations to fixed rates. The fair value of outstanding interest rate swap derivatives can vary significantly from period to period depending on the total notional amount of swap derivatives outstanding and fluctuations in market interest rates compared to the interest rates fixed by the swaps. As of March 31, 2020, and December 31, 2019, our outstanding interest rate swap agreement contained a notional amount of $150.6 million and $152.6 million, respectively, with a maturity date of July 10, 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:36pt;"/&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Credit Risk. &lt;/span&gt;By using derivative instruments to economically hedge exposures to changes in interest rates, we are exposed to counterparty credit risk. Credit risk is the failure of a counterparty to perform under the terms of a derivative contract. When the fair value of a derivative contract is positive, the counterparty owes us, which creates credit risk for us. When the fair value of a derivative contract is negative, we owe the counterparty and, therefore, we do not possess credit risk. We minimize the credit risk in derivative instruments by entering into transactions with high quality counterparties. We have entered into netting agreements, including International Swap Dealers Association (&#x201c;ISDA&#x201d;) Agreements, which allow for netting of contract receivables and payables in the event of default by either party.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other long-term liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,414&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,443&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,414&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:36pt;"/&gt;The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Operations (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:101.66%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:27.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Location&#160;of Loss&#160;Recognized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;on&#160;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Interest expense&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,435&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,596&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:36pt;"/&gt;Cash flows from derivatives settled are reported as cash flows from operating activities.&lt;/p&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <prim:NumberOfInstrumentsUsedForTrading
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="INF"
      id="Narr_ZUlAW9MygUSwUDIVLchd1Q"
      unitRef="Unit_Standard_instrument_fROoiuuhrEmEXQzvnuS3gg">0</prim:NumberOfInstrumentsUsedForTrading>
    <us-gaap:DerivativeLiabilityNotionalAmount
      contextRef="As_Of_9_13_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_LchjH1Nc4keB3qctkoeUng"
      decimals="-5"
      id="Narr_K8QikmlvjEWFyAuEDmHLvw"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">165000000.0</us-gaap:DerivativeLiabilityNotionalAmount>
    <prim:InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged
      contextRef="Duration_9_13_2018_To_9_13_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_LG5GZO68mEui2ZAc45tw4Q"
      decimals="2"
      id="Narr_FLcXZ93IWUi-4vnD73aY_g"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.75</prim:InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged>
    <prim:AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan
      contextRef="Duration_9_13_2018_To_9_13_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_LG5GZO68mEui2ZAc45tw4Q"
      decimals="2"
      id="Narr_RkmaUSYPpUOv4T4KQwoQTw"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.75</prim:AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan>
    <us-gaap:DerivativeLiabilityNotionalAmount
      contextRef="As_Of_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_SqVRk02uLESTNwaAOJgzjw"
      decimals="-5"
      id="Narr_tqr8C7MM1U-nZxkm9VU1Zw"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">150600000</us-gaap:DerivativeLiabilityNotionalAmount>
    <us-gaap:DerivativeLiabilityNotionalAmount
      contextRef="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_leUB2D8opEii367Dkq4CVQ"
      decimals="-5"
      id="Narr_1giI5bQqPEmCfzDboNczVQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">152600000</us-gaap:DerivativeLiabilityNotionalAmount>
    <us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_UXj5gK9e-0qZqY7oWP8oPw">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other long-term liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,414&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,443&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,414&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock>
    <us-gaap:DerivativeLiabilities
      contextRef="As_Of_3_31_2020_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_BppTxWydRESUWmwbx6-okg"
      decimals="-3"
      id="Tc_hl78Nmsja0yEzvaXiHrh2Q_3_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">11414000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_B7dPJJLw6ESVSX0eDu0CYw"
      decimals="-3"
      id="Tc_IkMvRuJggkWimRIahTxLsg_3_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6443000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_68aWGjtyME-lCThU0Xf6cQ_4_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">11414000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_bSApxW40gk2HhXRgQlpQUA_4_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6443000</us-gaap:DerivativeLiabilities>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_I90nNu2UlUi4n9FGBkIuNQ">&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:101.66%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:27.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Location&#160;of Loss&#160;Recognized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;on&#160;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;Interest expense&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,435&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,596&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:DerivativeLossOnDerivative
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_IncomeStatementLocationAxis_us-gaap_InterestExpenseMember_VjjYSUoBnEiD-MuTPtpSqw"
      decimals="-3"
      id="Tc_S3jZwNVu2EGYQ8pe-7Yhaw_4_5"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5435000</us-gaap:DerivativeLossOnDerivative>
    <us-gaap:DerivativeLossOnDerivative
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_IncomeStatementLocationAxis_us-gaap_InterestExpenseMember_v3pZhrkNk0iwZBEfABDO5g"
      decimals="-3"
      id="Tc_OORL8cgp3kWpJZQI4PLOUA_4_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1596000</us-gaap:DerivativeLossOnDerivative>
    <us-gaap:MinorityInterestDisclosureTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_IDSbDH_3fkaoK6rbkYIISA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 10 &#x2014; Noncontrolling Interests&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We own a 50% interest in the Carlsbad joint venture which operates in the Power segment. The joint venture has been determined to be a VIE and we were determined to be the primary beneficiary as a result of our significant influence over the joint venture operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The joint venture is a partnership, and consequently, only the tax effect of our share of the income was recognized by us.  The net assets of the joint venture are restricted for use by the specific project and are not available for our general operations.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The Carlsbad joint venture&#x2019;s operating activities began in 2015 and are included in our Condensed Consolidated Statements of Operations as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.66%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:65.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#0563c1;font-family:'Calibri';font-size:14pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net income attributable to noncontrolling interests&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 989&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The Carlsbad joint venture made no distributions to the partners and we made no capital contributions to the Carlsbad joint venture during the three months ended March 31, 2020 and 2019. The project was substantially complete as of December 31, 2018 and the warranty period expires in December 2020.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following table summarizes the total balance sheet amounts for the Carlsbad joint venture, which is included in our Condensed Consolidated Balance Sheets, and the total consolidated balance sheet amounts (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.89%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Joint&#160;Venture&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Consolidated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;At March&#160;31,&#160;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,026&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,474&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 416,412&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 359,370&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Due from Primoris&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 476&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts payable&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 258,962&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contract liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 176,847&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;At December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,124&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 120,286&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 404,911&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 344,806&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts payable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 235,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contract liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 425&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 192,397&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:1pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;"/&gt;&lt;p style="clear:both;font-family:'Times New Roman';font-size:1pt;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:MinorityInterestDisclosureTextBlock>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_3_31_2020_srt_OwnershipAxis_prim_CarlsbadConstructorsJointVentureMember_ShSeZLNsy06lRSucjW6V4A"
      decimals="2"
      id="Narr_d3u2ZHxVdUqePjbw3trOWg"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.50</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <prim:ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_4XBB5cBGf0Wn0bpkn2yG-w">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The Carlsbad joint venture&#x2019;s operating activities began in 2015 and are included in our Condensed Consolidated Statements of Operations as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.66%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:65.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#0563c1;font-family:'Calibri';font-size:14pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net income attributable to noncontrolling interests&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 989&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</prim:ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_bqTuAbO75U6XaXM3v6yhDA"
      decimals="-3"
      id="Tc_D_odrMIM4keFStQdk5pCzA_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">4024000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_PfHnWyiRG0Stv8gRMOqnEA"
      decimals="-3"
      id="Tc_so0tPy2z2kColepoCqKfLA_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">3000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_bqTuAbO75U6XaXM3v6yhDA"
      decimals="-3"
      id="Tc_f31-EeE6mUiCAa3kfB4yWA_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">989000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <prim:ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_4Ss33b1x4EOtYkglLnutaA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following table summarizes the total balance sheet amounts for the Carlsbad joint venture, which is included in our Condensed Consolidated Balance Sheets, and the total consolidated balance sheet amounts (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.89%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Joint&#160;Venture&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Consolidated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;At March&#160;31,&#160;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amounts&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,026&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,474&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 416,412&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 359,370&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Due from Primoris&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 476&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts payable&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 258,962&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contract liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 176,847&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;At December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,124&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 120,286&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 404,911&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 344,806&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts payable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 235,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Contract liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 425&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 192,397&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</prim:ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock>
    <us-gaap:Cash
      contextRef="As_Of_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_KyDFCWDszUCxpfLxiesDjQ"
      decimals="-3"
      id="Tc_WnNQNYpVSEG5rk4RUcD2nQ_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2026000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_yVoELzkyfEaL5BxPLB93LQ_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">93474000</us-gaap:Cash>
    <us-gaap:ReceivablesNetCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_K5pChtWNU0OrtlNCgFRkjg_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">416412000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_bhFNgg9b2Eym-ipTa0UIZg_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">359370000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:DueFromAffiliateNoncurrent
      contextRef="As_Of_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_KyDFCWDszUCxpfLxiesDjQ"
      decimals="-3"
      id="Tc_pj2yPN1HmUKGbIIS2GhMmg_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">476000</us-gaap:DueFromAffiliateNoncurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_79C-LGWA-kG-SI49IO6Qaw_7_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">258962000</us-gaap:AccountsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2020_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_KyDFCWDszUCxpfLxiesDjQ"
      decimals="-3"
      id="Tc_46ybzSnWCk6r8sv7FtfW0w_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">434000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_BqlJdmwIskaNg7y6rxlFGA_8_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">176847000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_24_rIbP0Y02z5KcoyUosnA"
      decimals="-3"
      id="Tc_jDS8012C4E-JdzUS0CrTtA_11_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2124000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_4Tj3ZKARD0O4GKbTpsSYKQ_11_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">120286000</us-gaap:Cash>
    <us-gaap:ReceivablesNetCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_rNMIkhvvE0SUgYstK2ZghQ_12_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">404911000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_nZHt_zl7XkOXdIVqyc17lA_13_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">344806000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_12_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_24_rIbP0Y02z5KcoyUosnA"
      decimals="-3"
      id="Tc_L5G--xMV9kWaR-MhUybYyA_14_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">38000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_oxnDvWF-UE23i3pni3Gi0g_14_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">235972000</us-gaap:AccountsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2019_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis_prim_CarlsbadConstructorsJointVentureMember_24_rIbP0Y02z5KcoyUosnA"
      decimals="-3"
      id="Tc_kVDucnfqA0m6AjOQraOIbw_15_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">425000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_xIbylKo1x0WQI77zsVNi8A_15_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">192397000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_bDiRAGtjjkKYT802FcQjlg">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 11&#x2014;Stock-Based Compensation&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;In May 2013, the shareholders approved and we adopted the Primoris Services Corporation 2013 Long-term Incentive Equity Plan (&#x201c;Equity Plan&#x201d;). Our Board of Directors has granted 607,361&lt;span style="white-space:pre-wrap;"&gt; Restricted Stock Units (&#x201c;Units&#x201d;), net of forfeitures, to employees under the Equity Plan.  The grants were documented in RSU Award Agreements, which provide for a vesting schedule and require continuing employment of the employee.  The Units are subject to earlier acceleration, termination, cancellation or forfeiture as provided in the underlying RSU Award Agreement. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;At March 31, 2020, a total of 260,630 Units were vested. The vesting schedule for the remaining Units are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&#160;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Years Ending December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;to&#160;Vest&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020 (remaining nine months)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,896&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 179,364&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84,415&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,056&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 346,731&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Under guidance of ASC Topic 718 &#x201c;&lt;i style="font-style:italic;"&gt;Compensation &#x2014; Stock Compensation&lt;/i&gt;&#x201d;, stock-based compensation cost is measured at the date of grant, based on the calculated fair value of the stock-based award, and is recognized as expense over the employee&#x2019;s requisite service period (generally the vesting period of the award).&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The fair value of the Units was based on the closing market price of our common stock on the day prior to the date of the grant.  Stock compensation expense for the Units is being amortized using the straight-line method over the service period.  We recognized &lt;/span&gt;$0.5 million in compensation expense for each of the three months ended March 31, 2020 and 2019, respectively. At March 31, 2020, approximately $5.4 million of unrecognized compensation expense remained for the Units, which will be recognized over a weighted average period of 2.4 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Vested Units accrue &#x201c;Dividend Equivalent Units&#x201d; (as defined in the Equity Plan), which will be accrued as additional Units until the Units are converted to Common Stock.&#160; At March 31, 2020, a total of 2,401 Dividend Equivalent Units were accrued.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_5_1_2013_To_9_30_2019_srt_TitleOfIndividualAxis_srt_ExecutiveOfficerMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_S1fYm4bIeUmB-U95DnwRrg"
      decimals="INF"
      id="Narr_6VGDdCSaCku7A9sz07zuYA"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">607361</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber
      contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_KJAv3jgTqk-VEzu2ilQd3A"
      decimals="INF"
      id="Narr_vqNLZfr6dUeUwXumwjTNug"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">260630</prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_XFgSSlwtHUCzhFKH_KkabQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&#160;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the Years Ending December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;to&#160;Vest&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020 (remaining nine months)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,896&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 179,364&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84,415&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,056&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 346,731&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares
      contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_DS6JujiBw0agDLUosCOHKw"
      decimals="INF"
      id="Tc_yyxa1jhTD0i8LdogF8ttMQ_3_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">23896</prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares>
    <prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares
      contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_H7azBe8NyESGS1nMctlE4Q"
      decimals="INF"
      id="Tc_WGq59gIga0-7kHqh9-ZClg_4_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">179364</prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares>
    <prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares
      contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheThreeMember_EqblmuX4pku4GFBgcNKT3Q"
      decimals="INF"
      id="Tc_4UhAEi_xXUKmXN0Wv2G2Lg_5_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">84415</prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares>
    <prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares
      contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_us-gaap_VestingAxis_prim_ShareBasedCompensationAwardTrancheFourMember_rp5ra39W_UuordibFrRP-g"
      decimals="INF"
      id="Tc_MCWzi6Nc5Em4RuWl4x_J2w_6_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">59056</prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_KJAv3jgTqk-VEzu2ilQd3A"
      decimals="INF"
      id="Tc_ZxOrelh8zE2TRNNel7DNsQ_7_2"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">346731</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_ewyB-67FFUCFuzSnh5AJZw"
      decimals="-5"
      id="Narr_tp5oEbGFX0Cqsd7i7ugwjw"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member__lVi64r2bEOudVFXhybLnQ"
      decimals="-5"
      id="Narr_YwM9RmZ1pku1SgaAb_YvTQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_KJAv3jgTqk-VEzu2ilQd3A"
      decimals="-4"
      id="Narr_yj_2gZnQAE2PVxmiSmT0jQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member__lVi64r2bEOudVFXhybLnQ"
      id="Narr_i6sz2V_Oa0mOZ2PvSay4Tw">P2Y4M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <prim:AccruedDividendEquivalentUnits
      contextRef="As_Of_3_31_2020_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_ZuiPBQ1d2UeoeraZwEQYrw"
      decimals="INF"
      id="Narr_oh-x4NvjFk-DC5ck9m0xGw"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">2401</prim:AccruedDividendEquivalentUnits>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_xqBXkpxCcUynxKaaaAtSRA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 12&#x2014;Income Taxes&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates, and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;which can cause variability in the effective tax rate from quarter to quarter.  We recognize interest and penalties related to uncertain tax positions, if any, as an income tax expense.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We do not include the income tax expense or benefit related to the net earnings or loss attributable to noncontrolling interest in our income tax expense as the entities are considered pass-through entities and, as such, the income tax expense or benefit is attributable to its owners. The effective tax rate on income including noncontrolling interests for the three months ended March 31, 2020 and 2019 was 29.0% and 21.3%, respectively. Excluding noncontrolling interest, the effective tax rate on (loss) income attributable to Primoris for the three months ended March 31, 2020 and 2019 was 29.0%. For the first three months of 2020 and 2019, our tax rate differs from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and nondeductible components of per diem expenses. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Our U.S. federal income tax returns are generally no longer subject to examination for tax years before 2016. The statutes of limitation of state and foreign jurisdictions generally vary between 3 to 5 years. Accordingly, our state and foreign income tax returns are generally no longer subject to examination for tax years before 2014.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities based on enacted tax rates expected to be in effect when such amounts are realized or settled. However, deferred tax assets are recognized only to the extent that it is more likely than not that they will be realized based upon consideration of available evidence, including future reversals of existing taxable temporary differences, future projected taxable income, the length of the tax asset carryforward periods, and tax planning strategies. The effects of remeasurement of deferred tax assets and liabilities resulting from changes in tax rates are recognized in income in the period of enactment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (CARES Act) was enacted by the US Government in response to the COVID-19 pandemic. Similarly, the Canada Emergency Wage Subsidy legislation was enacted on April 11, 2020 to provide employment retention incentives to certain Canadian employers. These relief measures did not materially affect the Consolidated Financial Statements for the first quarter of 2020. We are currently assessing the future implications&#160;of these provisions on our Consolidated Financial Statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="3"
      id="Narr_dzVQiHJq80COl6AgOShNdQ"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.290</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="3"
      id="Narr_DqfAeKkL90qOEnCqHIB6mQ"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.213</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <prim:EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="3"
      id="Narr_eC0KfEAfckiEoEuE3UrAhw"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.290</prim:EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="INF"
      id="Narr_nFlKq8HrM0CngkJBUaKq2Q"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <prim:IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_ft7n365sNEmXTgj_KSsWWQ">P3Y</prim:IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum>
    <prim:IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_Rzr2yHgpeEK-FpF7i46TzA">P5Y</prim:IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum>
    <prim:DividendsAndEarningsPerShareDisclosureTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_bLmuJtf-mk2JIfRRtdL-GQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 13&#x2014;Dividends and Earnings Per Share&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We paid cash dividends during 2020 and 2019 as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.55%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Declaration&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Record&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Date Paid&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&#160;Per&#160;Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;November 2, 2018&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;December 31, 2018&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;January 15, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;February 26, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;March 29, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;April 15, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;May 3, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;June 28, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;July 15, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;August 2, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;September 30, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;October 15, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;October 31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;December 31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;January 15, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;February 21, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;March 31, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;April 15, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The payment of future dividends is contingent upon our revenue and earnings, capital requirements and our general financial condition, as well as contractual restrictions and other considerations deemed relevant by the Board of Directors.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The table below presents the computation of basic and diluted (loss) earnings per share for the three months ended March 31, 2020 and 2019 (in thousands, except per share amounts).&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:87.76%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Numerator:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Net (loss) income attributable to Primoris&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,737)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,947&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Denominator:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average shares for computation of basic earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,588&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,770&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;Dilutive effect of shares issued to independent directors (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;Dilutive effect of restricted stock units (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 410&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average shares for computation of diluted (loss) earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,588&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,188&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;(Loss) earnings per share attributable to Primoris:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;Basic&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (0.08)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.04&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;Diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (0.08)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.04&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:27pt;"/&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:22.5pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;The dilutive effect of shares issued to independent directors and restricted stock units of 9 and 300, respectively, for the three months ended March 31, 2020, were excluded from the weighted average diluted shares outstanding for the three months ended March 31, 2020, as their inclusion would be anti-dilutive.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</prim:DividendsAndEarningsPerShareDisclosureTextBlock>
    <us-gaap:DividendsDeclaredTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_CCtJuCeEtUm7TzwGoSObFQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We paid cash dividends during 2020 and 2019 as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.55%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Declaration&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Record&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Date Paid&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&#160;Per&#160;Share&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;November 2, 2018&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;December 31, 2018&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;January 15, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;February 26, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;March 29, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;April 15, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;May 3, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;June 28, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;July 15, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;August 2, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;September 30, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;October 15, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;October 31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;December 31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;January 15, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;February 21, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;March 31, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;April 15, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;0.060&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DividendsDeclaredTableTextBlock>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_11_2_2018_To_11_2_2018_Y2Ao66cOaE2qpnPjm0_tLw"
      decimals="INF"
      id="Tc_5bv5h5rARUKsQTMO6UjRiA_2_7"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.060</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_2_26_2019_To_2_26_2019_zmvRl3hXAU-0gNSZF2e5cw"
      decimals="INF"
      id="Tc_N2YuBcTcDEKmHJgMqmfK0A_3_7"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.060</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_5_3_2019_To_5_3_2019_xCsQiYQHL0-2P_eST2BlhA"
      decimals="INF"
      id="Tc_036ZaVKP2kaisD5sDh9rsQ_4_7"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.060</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_8_2_2019_To_8_2_2019_cwuQJ0UWLEi1G2XNvWOOQw"
      decimals="INF"
      id="Tc_H3t_oub6LkySZdq1BAYGew_5_7"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.060</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_10_31_2019_To_10_31_2019_ATqJ5tvWo0qgXOHmiW38bg"
      decimals="INF"
      id="Tc_WfkyfiBXu0uvqWaLo5se4A_6_7"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.060</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_2_22_2020_To_2_22_2020_IrdZDsPh306_JNpuPOmsRw"
      decimals="INF"
      id="Tc_B60DBlbXTESNOorGaaSrZA_7_7"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.060</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_DUIjVDbDHEO94jPHeNeDTw">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The table below presents the computation of basic and diluted (loss) earnings per share for the three months ended March 31, 2020 and 2019 (in thousands, except per share amounts).&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:87.76%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Numerator:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Net (loss) income attributable to Primoris&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,737)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,947&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Denominator:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average shares for computation of basic earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,588&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,770&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;Dilutive effect of shares issued to independent directors (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;Dilutive effect of restricted stock units (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 410&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average shares for computation of diluted (loss) earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,588&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,188&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;(Loss) earnings per share attributable to Primoris:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;Basic&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (0.08)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.04&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;Diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (0.08)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.04&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:27pt;"/&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:22.5pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;The dilutive effect of shares issued to independent directors and restricted stock units of 9 and 300, respectively, for the three months ended March 31, 2020, were excluded from the weighted average diluted shares outstanding for the three months ended March 31, 2020, as their inclusion would be anti-dilutive.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_Pw5pCxqPnk-nm0rHG3HSJg_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">-3737000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_XGkEnfNt1kCUSAdso6ZIqw_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1947000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_8XorTtWvtEqsIEKC5xpUIg_7_3"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">48588000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_9U4mQBeAQkap7iY75fKybQ_7_6"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">50770000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <prim:IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_hsaBzta5PEyvnOvDB_ddRQ_8_6"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">8000</prim:IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_lhi30S_eHEyXDAyc9Vvc4g_9_6"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">410000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc__UaR2UMqQE6vIcGru9P50Q_10_3"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">48588000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_V2nbzIEuHEGDjBfZ3qpmTA_10_6"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">51188000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="2"
      id="Tc_wYFMPjVq5kq6F7_ntqa7yQ_13_3"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">-0.08</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="2"
      id="Tc_f-YVNRVmDEO48ynHwFOaHg_13_6"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="2"
      id="Tc_rO83nPv2ukOaOoKflWQCdQ_14_3"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">-0.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="2"
      id="Tc_msLGrU6ArkS6oKxMvfZMVw_14_6"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_prim_EquityIncentivePlan2013Member_g8CxyEXjHUKugubbz1P8hw"
      decimals="INF"
      id="Narr_1h-9YbTJe060q70i6rhXTQ"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">9</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockUnitsRSUMember_AU5Inj2WxEmd2J-K_mWlIA"
      decimals="INF"
      id="Narr_GgXpZNLYDUeNCwYwRdGPKw"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">300</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_UpOXDLeqs0aQw0UctowkZQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:54.7pt;text-indent:-54.7pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 14&#x2014;Stockholders&#x2019; Equity&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Common stock&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We issued 34,524 and 114,106 shares of common stock in the three months ended March 31, 2020 and 2019, respectively, under our long-term retention plan (&#x201c;LTR Plan&#x201d;). The shares were purchased by the participants in the LTR Plan with payment made to us of $0.6 million and $1.8 million in the three months ended March 31, 2020 and 2019, respectively. Our LTR Plan for certain managers and executives allows participants to use a portion of their annual bonus amount to purchase our common stock at a discount from the market price. The shares purchased in the three months ended March 31, 2020 were a portion of bonus amounts earned in 2019, and the number of shares purchased was calculated based on 75% of the average daily closing market price of our common stock during December 2019. The shares purchased in the three months ended March 31, 2019 were for bonus amounts earned in 2018, and the number of shares was calculated at 75% of the average daily closing market price during December 2018.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;In the three months ended March 31, 2020 and 2019, we issued 16,744 and 13,278 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;As discussed in Note 11 &#x2014; &lt;i style="font-style:italic;"&gt;&#x201c;Stock&#x2013;Based Compensation&#x201d;&lt;/i&gt;, as of March 31, 2020, the Board of Directors has granted a total of 607,361 shares of Units, net of forfeitures under the Equity Plan and a total of 2,401 Dividend Equivalent Units were accrued at March 31, 2020.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Share Repurchase Plan&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;In February 2020, our Board of Directors authorized a $25.0 million share repurchase program. Under the share repurchase program, we can, depending on market conditions, share price and other factors, acquire shares of our common stock on the open market or in privately negotiated transactions. In the three months ended March 31, 2020 we purchased and cancelled 461,831 shares of common stock, which in the aggregate, equaled $7.4 million at an average share price of $16.01. The share repurchase plan expires on December 31, 2020.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_7Lp77EAuK0WjjfwZFYKgkw"
      decimals="INF"
      id="Narr_3iujryfU90KO5o1ydnXasw"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">34524</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_15D8d6CY1EqlUj_bbrkCYQ"
      decimals="INF"
      id="Narr_x01tzea4F0qewDNdAm1mXQ"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">114106</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_7Lp77EAuK0WjjfwZFYKgkw"
      decimals="-5"
      id="Narr__PZW1Btd0EmGLU_KRHaL-w"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">600000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_15D8d6CY1EqlUj_bbrkCYQ"
      decimals="-5"
      id="Narr_hvQ2rz6-UkGSeOCuh13qFw"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1800000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <prim:DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_7Lp77EAuK0WjjfwZFYKgkw"
      decimals="2"
      id="Narr_2ZVF99BGq0urEBQomVtgrQ"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.75</prim:DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants>
    <prim:DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_LongTermRetentionPlanMember_15D8d6CY1EqlUj_bbrkCYQ"
      decimals="2"
      id="Narr_-hod-41kA0-GvRiQKWpuOg"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.75</prim:DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_s9-nFPIh-0G4FBJPghqPyg"
      decimals="INF"
      id="Narr_nTjlVZm7fE2eCurejwiJqw"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">16744</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_gsr4UjZmC0igbeSPYHVD9Q"
      decimals="INF"
      id="Narr_0xtjHmmFZEiHPJWXnghnzA"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">13278</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member__lVi64r2bEOudVFXhybLnQ"
      decimals="INF"
      id="Narr_gIXLxZeneUaEPF517jbkWw"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">607361</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <prim:AccruedDividendEquivalentUnits
      contextRef="As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_KJAv3jgTqk-VEzu2ilQd3A"
      decimals="INF"
      id="Narr_Bl-aGyL0Q0CXIZbDoN5bsw"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">2401</prim:AccruedDividendEquivalentUnits>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="As_Of_2_29_2020_x-shwRMOb0GBO7hyW7nj1g"
      decimals="-5"
      id="Narr_X0XBuyVsqEiFNCBULaoH7w"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">25000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="INF"
      id="Narr_Su3gRO0ZikWZMNoJM03biQ"
      unitRef="Unit_Standard_shares_4os156Flt0-qnxNep42g9Q">461831</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-5"
      id="Narr_ZKPSxAh2xECLDeZiM8um_A"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">7400000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="2"
      id="Narr_h79fB8sWRU2-jdp4fF8kww"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">16.01</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_Zns2SxBmYk2yDcC9GogGdw">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 15&#x2014;Leases&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We lease administrative and various operational facilities, which are generally longer-term, project specific facilities or yards, and construction equipment under non-cancelable operating leases. We determine if an arrangement is a lease at inception. We have lease agreements with lease and non-lease components, which are generally accounted for separately. Operating leases are included in operating lease assets, accrued liabilities, and noncurrent operating lease liabilities on our Condensed Consolidated Balance Sheets. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Operating lease assets and operating lease liabilities are recognized at commencement date based on the present value of the future minimum lease payments over the lease term. In determining our lease term, we include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date to determine the present value of future payments. Lease expense from minimum lease payments is recognized on a straight-line basis over the lease term.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Our leases have remaining lease terms that expire at various dates through 2030, some of which may include options to extend the leases for up to 5 years. The exercise of lease extensions is at our sole discretion. Periodically, we sublease excess facility space, but any sublease income is generally not significant. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;The components of lease expense are as follows (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#0563c1;font-family:'Calibri';font-size:14pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:37.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Operating lease expense&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,978&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,513&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;________________________________________&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Includes short-term leases which are immaterial. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 0pt;"&gt;Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden__JXUjXF_fUO7A8Od1LSBcw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Accrued liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,532&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,036&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_YU8jmKS8wUqFjBRDNoo_bA"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Noncurrent operating lease liabilities, net of current portion&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 176,546&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,225&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 256,078&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 245,261&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Narr_bt96UFLpQEyxDedMDotqPw">true</us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="As_Of_3_31_2020_srt_RangeAxis_srt_MaximumMember_dqOlgF_sN0u3j9wIGHdmtA"
      id="Narr_oiwsWZbGakSIloV7iMkiHw">P5Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_TljZj3LJIkiVrjlO3W-i9w">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;The components of lease expense are as follows (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="color:#0563c1;font-family:'Calibri';font-size:14pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:37.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Three Months Ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Operating lease expense&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,978&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,513&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(1)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;________________________________________&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Includes short-term leases which are immaterial. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_l43GwsiW2E6psLoKzH-I7Q_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">22978000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_MyQRgJSklEa2fyCbNWtmcA_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">16513000</us-gaap:OperatingLeaseCost>
    <prim:LesseeOperatingLeaseLiabilityTableTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_Om_7L7kxJ0KRd4M7nDZk-A">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 0pt;"&gt;Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden__JXUjXF_fUO7A8Od1LSBcw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Accrued liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,532&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,036&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_YU8jmKS8wUqFjBRDNoo_bA"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Noncurrent operating lease liabilities, net of current portion&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 176,546&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,225&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 256,078&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 245,261&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</prim:LesseeOperatingLeaseLiabilityTableTextBlock>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_OUSdEkR4X06AiSFwuZvqQA_3_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">79532000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_anoGdvt3m0WQs4lopHCztw_3_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">74036000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_nNesCaYLKUu7l_Hhn5_iCw_4_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">176546000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_AKvyM4ES_0ODWj1RDGbv-Q_4_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">171225000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA"
      decimals="-3"
      id="Tc_sJzfSIUrRUuEtRBRWU2bww_5_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">256078000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA"
      decimals="-3"
      id="Tc_tOxjz68QjUiA3F4VmUQ85w_5_6"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">245261000</us-gaap:OperatingLeaseLiability>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_5t3PqTwIpEimY-2cWpMsWQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 16&#x2014;Commitments and Contingencies&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;NTTA settlement &#x2014;&lt;/span&gt; On February 7, 2012, we were sued in an action entitled North Texas Tollway Authority (&#x201c;NTTA&#x201d;), Plaintiff v. James Construction Group, LLC, and KBR, Inc., Defendants, v. Reinforced Earth Company, Third-Party Defendant (the &#x201c;Lawsuit&#x201d;). On February 25, 2015, the Lawsuit was settled, and we recorded a liability for $17.0 million. A second defendant agreed to provide up to $5.4 million to pay for the total expected remediation cost of approximately $22.4 million. We will pay a third-party contractor approved by the NTTA to complete the remediation. In the event that the total remediation costs exceed the $22.4 million, the second defendant would pay 20% of the excess amount and we would pay for 80% of the excess amount. During the three months ended March 31, 2020, we increased our estimate of the total expected remediation costs by $0.5 million. We also spent $2.5 million for remediation during the three months ended March 31, 2020. While we continue to monitor the progress toward remediation and the total remediation costs, at this time we cannot determine the total eventual remediation cost. At March 31, 2020, the remaining accrual balance was $6.5 million. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Legal proceedings &#x2014; &lt;/span&gt;We had been engaged in dispute resolution to collect money we believe we were owed for a construction project completed in 2014. The dispute resolution for the receivable initially required international arbitration; however, in the first half of 2016, the owner sought bankruptcy protection in U.S. bankruptcy court. We initiated litigation against the sureties who had provided lien and stop payment release bonds for the amount owed. During 2018, we settled with the sureties. In addition, we believe we are owed amounts from the bankruptcy trustee. We expect that we will collect a portion of the amount owed to us but cannot predict the timing of such collection.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We are subject to other claims and legal proceedings arising out of our business. We provide for costs related to contingencies when a loss from such claims is probable and the amount is reasonably estimable. In determining whether it is possible to provide an estimate of loss, or range of possible loss, we review and evaluate our litigation and regulatory matters on a quarterly basis in light of potentially relevant factual and legal developments. If we determine an unfavorable outcome is not probable or probable but not reasonably estimable, we do not accrue for a potential litigation loss.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt; Management is unable to ascertain the ultimate outcome of other claims and legal proceedings; however, after review and consultation with counsel and taking into consideration relevant insurance coverage and related deductibles/self-insurance retention, management believes that it has meritorious defenses to such claims and believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a material adverse effect on our consolidated results of operations, financial condition or cash flow.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Bonding &#x2014;&lt;/span&gt; At March 31, 2020 and December 31, 2019, the Company had bid and completion bonds issued and outstanding totaling approximately $829.0 million and $648.6 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LitigationSettlementAmountAwardedToOtherParty
      contextRef="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_2uFZe3IrL0qK7lugwFuxpQ"
      decimals="-5"
      id="Narr_epZc0xaPbkKdLQDVCTjgdQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">17000000.0</us-gaap:LitigationSettlementAmountAwardedToOtherParty>
    <prim:LitigationSettlementPaymentsByDefendantsInExpectedCosts
      contextRef="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_srt_RangeAxis_srt_MaximumMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember__zH3HAZcIUaUDLkkxOQcnQ"
      decimals="-5"
      id="Narr_npSZ4LV1mEKy5ThVm3jjDg"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">5400000</prim:LitigationSettlementPaymentsByDefendantsInExpectedCosts>
    <prim:LitigationSettlementExpectedRemediationCost
      contextRef="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_2uFZe3IrL0qK7lugwFuxpQ"
      decimals="-5"
      id="Narr_oeirikISMEC0KHYyOI_BLQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">22400000</prim:LitigationSettlementExpectedRemediationCost>
    <prim:LitigationSettlementExpectedRemediationCost
      contextRef="Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_2uFZe3IrL0qK7lugwFuxpQ"
      decimals="-5"
      id="Narr_Bi1-CAq_YE6VcsVT_1Ss7g"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">22400000</prim:LitigationSettlementExpectedRemediationCost>
    <prim:LitigationCostsCodefendantPercentage
      contextRef="As_Of_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_-uXUc15HCk-Bpd-qUTgJyA"
      decimals="2"
      id="Narr_FclYc1FpDUKpN2CIalpklg"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.20</prim:LitigationCostsCodefendantPercentage>
    <prim:LitigationCostsCompanyPercentage
      contextRef="As_Of_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_-uXUc15HCk-Bpd-qUTgJyA"
      decimals="2"
      id="Narr_8VXeWWSLm0-3_P8N85rPVg"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.80</prim:LitigationCostsCompanyPercentage>
    <prim:LitigationSettlementIncreaseInLiability
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_kTV_JK0lw0i5oyZXhNH5Hg"
      decimals="-5"
      id="Narr_gkP-9_-0bESeuFwl2z6OXQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">500000</prim:LitigationSettlementIncreaseInLiability>
    <prim:LitigationSettlementRemediationExpense
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_kTV_JK0lw0i5oyZXhNH5Hg"
      decimals="-5"
      id="Narr_fAM1GR0ne0iyQoFPmi6KIg"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2500000</prim:LitigationSettlementRemediationExpense>
    <prim:LitigationSettlementRemainingAccrualBalance
      contextRef="As_Of_3_31_2020_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_-uXUc15HCk-Bpd-qUTgJyA"
      decimals="-5"
      id="Narr_U4KLoo-Sr0GT6c6L7cF2oQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6500000</prim:LitigationSettlementRemainingAccrualBalance>
    <prim:BondsIssuedAndOutstanding
      contextRef="As_Of_3_31_2020_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_IO_YgHRZK0CVP9zM_vMn4A"
      decimals="-5"
      id="Narr_srXDISJ_tESKVp_2fPEMlQ"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">829000000.0</prim:BondsIssuedAndOutstanding>
    <prim:BondsIssuedAndOutstanding
      contextRef="As_Of_12_31_2019_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_SuretyBondMember_crN3U11GG0GoRTxf5rfzZg"
      decimals="-5"
      id="Narr_7zbuLePwJUm3GvYigFUULw"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">648600000</prim:BondsIssuedAndOutstanding>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_dxhTwxeq20-nqIk4_5jIXg">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 17&#x2014;Reportable Segments&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;We segregate our business into five reportable segments: the Power segment, the Pipeline segment, the Utilities segment, the Transmission segment, and the Civil segment. Each of our reportable segments is comprised of similar business units that specialize in services unique to the segment. Driving the end-user focused segments are differences in the economic characteristics of each segment, the nature of the services provided by each segment; the production processes of each segment; the type or class of customer using the segment&#x2019;s services; the methods used by the segment to provide the services; and the regulatory environment of each segment&#x2019;s customers.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The following is a brief description of the reportable segments:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The Power segment operates throughout the United States and in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, upgrades, repairs, outages, and maintenance services for entities in the petroleum and petrochemical industries, as well as traditional and renewable power generators.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The Pipeline segment operates throughout the United States and specializes in a range of services, including pipeline construction and maintenance, pipeline facility and integrity services, installation of compressor and pump stations, and metering facilities for entities in the petroleum and petrochemical industries, as well as gas, water, and sewer utilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The Utilities segment operates primarily in California, the Midwest, the Atlantic Coast, and the Southeast regions of the United States and specializes in a range of services, including installation and maintenance of new and existing natural gas utility distribution systems and pipeline integrity services for entities in the gas utility market.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The Transmission segment operates primarily in the Southeastern, Midwest, Atlantic Coast, and Gulf Coast regions of the United States and specializes in a range of services, including installation and maintenance of new and existing electric utility transmission, substation, and distribution systems for entities in the electric utility market.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The Civil segment operates primarily in the Southeastern and Gulf Coast regions of the United States and specializes in highway and bridge construction, airport runway construction, demolition, site work, soil stabilization, mass excavation, flood control, and drainage projects for entities in the petroleum and petrochemical industries, state and municipal departments of transportation, and airports.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;All intersegment revenue and gross profit, which was immaterial, has been eliminated in the following tables. Total assets by segment is not presented as our Chief Operating Decision Maker as defined by ASC 280 does not review or allocate resources based on segment assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Segment Revenue&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Revenue by segment was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;%&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;%&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:37.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 196,193&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;26.4%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145,383&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;22.0%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;25.8%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,814&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;20.4%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 147,170&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;19.8%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,206&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;22.1%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 102,784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;13.8%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;17.9%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,573&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;14.2%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,712&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;17.6%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 743,243&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 661,558&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:94.5pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Segment Gross Profit&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Gross profit by segment was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;%&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;%&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Profit&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Profit&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,682&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;9.5%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,198&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;13.9%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;8.6%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,016&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;11.1%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,602&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;3.1%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,241&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.6%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,712&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;1.7%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,628&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.6%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,322&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;6.0%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,377&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;2.0%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,810&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;6.4%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,460&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;7.9%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:94.5pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Segment Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The amount of goodwill recorded by each segment at March 31, 2020 and at December 31, 2019 is presented in Note 6 &#x2013; &#x201c;&lt;i style="font-style:italic;"&gt;Goodwill and Intangible Assets&#x201d;&lt;/i&gt;. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Geographic Region &#x2014; Revenue and Total Assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;The majority of our revenue is derived from customers in the United States with approximately 4.2% and 4.6% generated from sources outside of the United States during the three months ended March 31, 2020 and 2019, respectively, principally in Canada. At March 31, 2020 and December 31, 2019, approximately 3.4% and 4.4%, respectively, of total assets were located outside of the United States, principally in Canada.&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="INF"
      id="Narr_TEi95BLpY0SLRA6kpgOqUg"
      unitRef="Unit_Standard_segment_zK27MSdamEeRnPBVsDPe7g">5</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_Z6JNpoTVmEicSn-KN84l6A">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Revenue by segment was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;%&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;%&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:37.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 196,193&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;26.4%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145,383&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;22.0%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;25.8%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,814&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;20.4%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 147,170&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;19.8%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,206&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;22.1%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 102,784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;13.8%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;17.9%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 105,573&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;14.2%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,712&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;17.6%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 743,243&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 661,558&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;100.0%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:94.5pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Segment Gross Profit&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;Gross profit by segment was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For the three months ended March&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;%&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;%&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Segment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Profit&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;Profit&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Power&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,682&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;9.5%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,198&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;13.9%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Pipeline&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;8.6%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,016&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;11.1%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Utilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,602&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;3.1%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,241&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.6%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Transmission&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,712&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;1.7%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,628&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5.6%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Civil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,322&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;6.0%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,377&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;2.0%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,810&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;6.4%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,460&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;7.9%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:94.5pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw"
      decimals="-3"
      id="Tc_QKj9NkS3REuydoTvt8a5Xw_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">196193000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw"
      decimals="3"
      id="Tc_GXkeZmdm6Um3RRiedjPu1A_6_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.264</prim:RevenuePercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww"
      decimals="-3"
      id="Tc_ms29Fxo0HEKGpCc6gbgpsw_6_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">145383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww"
      decimals="3"
      id="Tc_mm9iwRbUO0yMSurEgbMJYA_6_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.220</prim:RevenuePercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw"
      decimals="-3"
      id="Tc_RnCWH62SSESN6kln86uGaQ_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">191523000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw"
      decimals="3"
      id="Tc_YAMOZW3uKEqrW1O53MZ6Ug_7_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.258</prim:RevenuePercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q"
      decimals="-3"
      id="Tc_6aTNyWIwVEu3jb8YMumC1g_7_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">134814000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q"
      decimals="3"
      id="Tc_HLV66SABsUGJjJe8Du124w_7_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.204</prim:RevenuePercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw"
      decimals="-3"
      id="Tc_OLKBKs_-hE-u9b2mjp_HkQ_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">147170000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw"
      decimals="3"
      id="Tc_27ggsz3eOkirL4D8h2QCLA_8_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.198</prim:RevenuePercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg"
      decimals="-3"
      id="Tc_Nl7icPU8GkqGgfMVuEwKiw_8_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">146206000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg"
      decimals="3"
      id="Tc_huLzBY0oo02wZvFrJXkIBA_8_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.221</prim:RevenuePercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ"
      decimals="-3"
      id="Tc__f7pms31YUaC3pv8sR8_Vg_9_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">102784000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ"
      decimals="3"
      id="Tc_4G5dJc5kk0KUq-8uLowUHA_9_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.138</prim:RevenuePercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg"
      decimals="-3"
      id="Tc_mNLJrPE7W0Go4QKrKznM5w_9_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">118443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg"
      decimals="3"
      id="Tc_Sf5ViDktdkWTyfgxo86lhg_9_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.179</prim:RevenuePercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ"
      decimals="-3"
      id="Tc_thi8ze_YwEK_FK6yV9cVhg_10_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">105573000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ"
      decimals="3"
      id="Tc_HyYrAlPQyUWcjLLweygElA_10_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.142</prim:RevenuePercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg"
      decimals="-3"
      id="Tc_TEj0x63jiUilT4TLUeuanQ_10_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">116712000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg"
      decimals="3"
      id="Tc_4nmduTansE2VWJLZpdfsug_10_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.176</prim:RevenuePercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_c8poyYLzQ0aEV1AR1icHdg_11_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">743243000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="3"
      id="Tc_9OVtnj4FYUiPbVXmdHiSBg_11_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">1.000</prim:RevenuePercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_xOQKuyviRECu93KmSQxMiw_11_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">661558000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="3"
      id="Tc_7eQ0tBbnmUKBF_wK-qcCig_11_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">1.000</prim:RevenuePercentage>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw"
      decimals="-3"
      id="Tc_azAknKYyUkOyW2KTeymd5w_6_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">18682000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_q9jEn9QjgEO10PGgsLDTGw"
      decimals="3"
      id="Tc_FL3UfFrPK06uOarmONq9kA_6_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.095</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww"
      decimals="-3"
      id="Tc_LHWUcj7fZkGXVHHuT1Gmuw_6_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">20198000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PIAndESegmentMember_zNMhY6Itv0-Zj9R2MUVuww"
      decimals="3"
      id="Tc__CqPEVg99EuzQHzSlxWivA_6_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.139</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw"
      decimals="-3"
      id="Tc_OMGmgQwhS0yNMtZS6khUow_7_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">16492000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_bnFma3epFk-cUO1kS2NDuw"
      decimals="3"
      id="Tc_8zL9wuHv1E69R8w2X9hx0A_7_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.086</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q"
      decimals="-3"
      id="Tc_wJURwQl4l02E-cw5OnOBvw_7_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">15016000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_PAndUSegmentMember_Yfn86ziCTEu_cieHfauf9Q"
      decimals="3"
      id="Tc_P2lq_MssoECXK8ui9owtCg_7_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.111</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw"
      decimals="-3"
      id="Tc_W2Zc83PAOkGoyxHHsw235Q_8_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">4602000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_1l7ui5CAuUG_dGKOEqfdpw"
      decimals="3"
      id="Tc_xBII53qyckWdI7_lcLJHyg_8_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.031</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg"
      decimals="-3"
      id="Tc_Wn3wSQ89hEamuUveps89-A_8_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">8241000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_u1ra4yv6NE-eeCSu-BVweg"
      decimals="3"
      id="Tc_lvXD7SCVUUSPjDfhGqIB7w_8_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.056</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ"
      decimals="-3"
      id="Tc_XEgWVrTgIk2mAUk-g_ZTWQ_9_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">1712000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_UGi1ibNYj022E3oo8UIcOQ"
      decimals="3"
      id="Tc_8wD5PVJu7UqLBWSnDm64QA_9_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.017</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg"
      decimals="-3"
      id="Tc_ztTfE6Y720qsnu-oaPd5og_9_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6628000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_UtilityTransmissionAndDistributionMember_p_JywY7Lw0qTE9ZUgLj2Gg"
      decimals="3"
      id="Tc_YkYf3TFGkEKHm4sEYyulCg_9_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.056</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ"
      decimals="-3"
      id="Tc_WuI1qlcHUUmJIxmCaUTbNg_10_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">6322000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_RERJX7ncMUW3PlWO5m0SLQ"
      decimals="3"
      id="Tc_X3tODh8sl0aJkVFiCqrE2A_10_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.060</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg"
      decimals="-3"
      id="Tc_tFhqDhAI806xekUoOBW-OQ_10_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">2377000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2019_To_3_31_2019_us-gaap_StatementBusinessSegmentsAxis_prim_CivilSegmentMember_Ig7H4wYx10eP5y4WwCdPJg"
      decimals="3"
      id="Tc_liFaLtOqOE-VQ7JLzDjyVQ_10_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.020</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="-3"
      id="Tc_ghGSBDxQLke6rjuS-9XOXw_11_3"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">47810000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      decimals="3"
      id="Tc_nhRx7TpdOEqGILMjmWeRJg_11_5"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.064</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="-3"
      id="Tc_NrldLrOzz0yraIbRqGfq8w_11_8"
      unitRef="Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w">52460000</us-gaap:GrossProfit>
    <prim:GrossProfitAsPercentageOfSegmentRevenue
      contextRef="Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ"
      decimals="3"
      id="Tc_GpRbtXaKnku83sv02SgKkQ_11_10"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.079</prim:GrossProfitAsPercentageOfSegmentRevenue>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_6KYUxaE6R0WFY8BOMBdMvg"
      decimals="3"
      id="Narr_rxXRrtRmQEqHZ1mwPmzPxA"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.042</prim:RevenuePercentage>
    <prim:RevenuePercentage
      contextRef="Duration_1_1_2019_To_3_31_2019_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_6plzbYd0gkaE-7ySmclNmw"
      decimals="3"
      id="Narr_JmQHFKx_20Km8G9X7yhU8A"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.046</prim:RevenuePercentage>
    <prim:TotalAssetsPercentage
      contextRef="Duration_1_1_2020_To_3_31_2020_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_6KYUxaE6R0WFY8BOMBdMvg"
      decimals="3"
      id="Narr_zlylkZ-dukO5BRf0GTMu8w"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.034</prim:TotalAssetsPercentage>
    <prim:TotalAssetsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_ud4XQVSNV0OZIN3BWXQsyQ"
      decimals="3"
      id="Narr_pcXJlmde4keiumr-IIjGZQ"
      unitRef="Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A">0.044</prim:TotalAssetsPercentage>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA"
      id="Tb_WFBUoq3z1Uq6Us8PnuLbRA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Note 18&#x2014;Subsequent Events&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="display:inline-block;text-indent:0pt;width:36pt;"/&gt;&lt;i style="font-style:italic;"&gt;Cash Dividend&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"&gt;On May 1, 2020, the Board of Directors declared a cash dividend of $0.06 per share of common stock for stockholders of record as of June 30, 2020, payable on or about July 15, 2020.&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_5_1_2020_To_5_1_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember__5PeX9PbKkuTJHkNoreKVg"
      decimals="INF"
      id="Narr_Bi2UGnyTmUmFdnqhhI5Xmg"
      unitRef="Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q">0.06</us-gaap:CommonStockDividendsPerShareDeclared>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6640539488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Payable and Accrued Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Accounts Payable and Accrued Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Summary of accrued liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of accrued liabilities (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.24%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Payroll and related employee benefits </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,008</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,705</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current operating lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,036</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Casualty insurance reserves</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,902</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,918</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Corporate income taxes and other taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,822</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,027</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,384</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,815</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 192,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 183,501</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6783015888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Stock-Based Compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock', window );">Schedule of units activity</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;Units</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For the Years Ending December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">to&#160;Vest</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020 (remaining nine months)</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,896</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 179,364</p></td></tr><tr><td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,415</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,056</p></td></tr><tr><td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 346,731</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested restricted stock units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6791123904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Nature of Business (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2020 </div>
<div>segment</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_NatureOfBusinessLineItems', window );"><strong>Nature of Business</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reportable segments</a></td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_OwnershipAxis=prim_CarlsbadConstructorsJointVentureMember', window );">Carlsbad</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_NatureOfBusinessLineItems', window );"><strong>Nature of Business</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByParent', window );">Ownership percentage</a></td>
<td class="nump">50.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_NatureOfBusinessLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_NatureOfBusinessLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestOwnershipPercentageByParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The parent entity's interest in net assets of the subsidiary, expressed as a percentage.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestOwnershipPercentageByParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=prim_CarlsbadConstructorsJointVentureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_OwnershipAxis=prim_CarlsbadConstructorsJointVentureMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6791262784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock', window );">Derivative Instruments</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 9 &#8212; Derivative Instruments</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><span style="white-space:pre-wrap;">We are exposed to certain market risks related to changes in interest rates.  To monitor and manage these market risks, we have established risk management policies and procedures. We do not enter into derivative instruments for any purpose other than hedging interest rate risk. None of our derivative instruments are used for trading purposes.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><span style="font-style:italic;font-weight:bold;">Interest Rate Risk. </span>We are exposed to variable interest rate risk as a result of variable-rate borrowings under our Credit Agreement. To manage fluctuations in cash flows resulting from changes in interest rates on a portion of our </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">variable-rate debt, we entered into an interest rate swap agreement on September 13, 2018 with an initial notional amount of $165.0 million, or 75% of the debt outstanding under our Term Loan, which was not designated as a hedge for accounting purposes. The notional amount of the swap will be adjusted down each quarter by 75% of the required principal payments made on the Term Loan. The swap effectively changes the variable-rate cash flow exposure on the debt obligations to fixed rates. The fair value of outstanding interest rate swap derivatives can vary significantly from period to period depending on the total notional amount of swap derivatives outstanding and fluctuations in market interest rates compared to the interest rates fixed by the swaps. As of March 31, 2020, and December 31, 2019, our outstanding interest rate swap agreement contained a notional amount of $150.6 million and $152.6 million, respectively, with a maturity date of July 10, 2023.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><span style="font-style:italic;font-weight:bold;">Credit Risk. </span>By using derivative instruments to economically hedge exposures to changes in interest rates, we are exposed to counterparty credit risk. Credit risk is the failure of a counterparty to perform under the terms of a derivative contract. When the fair value of a derivative contract is positive, the counterparty owes us, which creates credit risk for us. When the fair value of a derivative contract is negative, we owe the counterparty and, therefore, we do not possess credit risk. We minimize the credit risk in derivative instruments by entering into transactions with high quality counterparties. We have entered into netting agreements, including International Swap Dealers Association (&#8220;ISDA&#8221;) Agreements, which allow for netting of contract receivables and payables in the event of default by either party.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other long-term liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,414</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,443</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Operations (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:101.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:27.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location&#160;of Loss&#160;Recognized</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">on&#160;Derivatives</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Interest expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,435</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,596</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>Cash flows from derivatives settled are reported as cash flows from operating activities.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -URI http://asc.fasb.org/topic&amp;trid=2229140<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6791261808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;5&#8212;Revenue</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generate revenue under a range of contracting types, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts. A substantial portion of our revenue is derived from contracts that are fixed-price or unit-price and is recognized over time as work is completed because of the continuous transfer of control to the customer (typically using an input measure such as costs incurred to date relative to total estimated costs at completion to measure progress). For time and material and cost reimbursable plus fee contracts, revenue is recognized primarily on an input basis, based on contract costs incurred as defined within the respective contracts. Costs to obtain contracts are generally not significant and are expensed in the period incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We evaluate whether two or more contracts should be combined and accounted for as one single performance obligation and whether a single contract should be accounted for as more than one performance obligation. ASC 606 defines a performance obligation as a contractual promise to transfer a distinct good or service to a customer. A contract&#8217;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Our evaluation requires significant judgment and the decision to combine a group of contracts or separate a contract into multiple performance obligations could change the amount of revenue and profit </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">recorded in a given period. The majority of our contracts have a single performance obligation, as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contract and, therefore, is not distinct. However, occasionally we have contracts with multiple performance obligations. For contracts with multiple performance obligations, we allocate the contract&#8217;s transaction price to each performance obligation using the observable standalone selling price, if available, or alternatively our best estimate of the standalone selling price of each distinct performance obligation in the contract. The primary method used to estimate standalone selling price is the expected cost plus a margin approach for each performance obligation.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As of March 31, 2020, we had $2.08 billion of remaining performance obligations. We expect to recognize approximately 58% of our remaining performance obligations as revenue during the next <span style="-sec-ix-hidden:Hidden_fnOPOmlGxkC0CJEcbfBzDg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">four</span></span> quarters and substantially all of the remaining balance by the first quarter of 2022.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Accounting for long-term contracts involves the use of various techniques to estimate total transaction price and costs. For long-term contracts, transaction price, estimated cost at completion and total costs incurred to date are used to calculate revenue earned. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular contract.  Total estimated costs, and thus contract revenue and income, can be impacted by changes in productivity, scheduling, the unit cost of labor, subcontracts, materials and equipment. Additionally, external factors such as weather, client needs, client delays in providing permits and approvals, labor availability, governmental regulation, politics and any prevailing impacts from the pandemic caused by the coronavirus may affect the progress of a project&#8217;s completion, and thus the timing of revenue recognition. To the extent that original cost estimates are modified, estimated costs to complete increase, delivery schedules are delayed, or progress under a contract is otherwise impeded, cash flow, revenue recognition and profitability from a particular contract may be adversely affected. </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The nature of our contracts gives rise to several types of variable consideration, including contract modifications (change orders and claims), liquidated damages, volume discounts, performance bonuses, incentive fees, and other terms that can either increase or decrease the transaction price. We estimate variable consideration as the most likely amount to which we expect to be entitled. We include estimated amounts in the transaction price to the extent we believe we have an enforceable right, and it is probable that a significant reversal of cumulative revenue recognized will not occur. Our estimates of variable consideration and the determination of whether to include estimated amounts in the transaction price are based largely on an assessment of our anticipated performance and all information (historical, current and forecasted) that is reasonably available to us at this time. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract modifications result from changes in contract specifications or requirements. We consider unapproved change orders to be contract modifications for which customers have not agreed to both scope and price. We consider claims to be contract modifications for which we seek, or will seek, to collect from customers, or others, for customer-caused changes in contract specifications or design, or other customer-related causes of unanticipated additional contract costs on which there is no agreement with customers. Claims can also be caused by non-customer-caused changes, such as rain or other weather delays. Costs associated with contract modifications are included in the estimated costs to complete the contracts and are treated as project costs when incurred. In most instances, contract modifications are for goods or services that are not distinct, and, therefore, are accounted for as part of the existing contract. The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue on a cumulative catch-up basis. In some cases, settlement of contract modifications may not occur until after completion of work under the contract.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As a significant change in one or more of these estimates could affect the profitability of our contracts, we review and update our contract-related estimates regularly. We recognize adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the cumulative impact of the profit adjustment is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate. In the three months ended March 31, 2020, revenue recognized from performance obligations satisfied in previous periods was $3.6 million. If at any time the estimate of contract profitability indicates an anticipated loss on a contract, the projected loss is recognized in full, including any previously recognized profit, in the period it is identified and recognized as an &#8220;accrued loss provision&#8221; which is included in &#8220;Contract liabilities&#8221; on the Condensed Consolidated Balance Sheets. For contract revenue recognized over time, the accrued loss provision is adjusted so that the gross profit for the contract remains zero in future periods. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">At March 31, 2020, we had approximately $94.4 million of unapproved contract modifications included in the aggregate transaction prices. These contract modifications were in the process of being negotiated in the normal course of </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">business. Approximately $80.6 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through March 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">In all forms of contracts, we estimate the collectability of contract amounts at the same time that we estimate project costs.  If we anticipate that there may be issues associated with the collectability of the full amount calculated as the transaction price, we may reduce the amount recognized as revenue to reflect the uncertainty associated with realization of the eventual cash collection. For example, when a cost reimbursable project exceeds the client&#8217;s expected budget amount, the client frequently requests an adjustment to the final amount. Similarly, some utility clients reserve the right to audit costs for significant periods after performance of the work.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The timing of when we bill our customers is generally dependent upon agreed-upon contractual terms, milestone billings based on the completion of certain phases of the work, or when services are provided. Sometimes, billing occurs subsequent to revenue recognition, resulting in unbilled revenue, which is a contract asset. Also, we sometimes receive advances or deposits from our customers before revenue is recognized, resulting in deferred revenue, which is a contract liability. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The caption &#8220;Contract assets&#8221; in the Condensed Consolidated Balance Sheets represents the following:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">unbilled revenue, which arise when revenue has been recorded but the amount will not be billed until a later date;</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">retainage amounts for the portion of the contract price earned by us for work performed, but held for payment by the customer as a form of security until we reach certain construction milestones; and</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">contract materials for certain job specific materials not yet installed, which are valued using the specific identification method relating the cost incurred to a specific project. </span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets consist of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unbilled revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 268,282</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 251,429</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Retention receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract materials (not yet installed)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,872</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 359,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 344,806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets increased by $14.6 million compared to December 31, 2019 due primarily to higher unbilled revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The caption &#8220;Contract liabilities&#8221; in the Condensed Consolidated Balance Sheets represents deferred revenue on billings in excess of contract revenue recognized to date, and the accrued loss provision.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities consist of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,553</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 186,081</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued loss provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,294</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,316</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 176,847</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 192,397</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities decreased by $15.6 million compared to December 31, 2019 due primarily to lower deferred revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue recognized for the three months ended March 31, 2020, that was included in the contract liability balance at December 31, 2019 was approximately $97.9 million.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following tables present our revenue disaggregated into various categories.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Master Service Agreements (&#8220;MSA&#8221;) and Non-MSA revenue was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:47.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,095</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 159,098</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196,193</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 144,791</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,011</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,159</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,170</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,774</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 102,784</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 796</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,777</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,573</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 270,408</p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 472,835</p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 743,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:47.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,195</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,188</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,383</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,849</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112,965</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,462</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,744</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,206</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,062</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,712</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 292,879</p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 368,679</p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 661,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by contract type was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 144,850</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 181</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,162</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196,193</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,345</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,830</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,089</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,639</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,442</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,170</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,636</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88,789</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 359</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 102,784</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,859</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,447</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,267</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,573</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 217,779</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 326,886</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 198,578</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 743,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,143</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,613</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,627</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,383</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,767</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,878</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,561</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,206</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,463</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,841</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,685</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,494</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,533</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,712</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,285</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 259,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256,073</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 661,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Each of these contract types has a different risk profile. Typically, we assume more risk with fixed-price contracts. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular fixed-price contract. However, these types of contracts offer additional profits when we complete the work for less cost than originally estimated. Unit-price and cost reimbursable contracts generally subject us to lower risk. Accordingly, the associated fees are usually lower than fees earned on fixed-price contracts. Under these contracts, our profit may vary if actual costs vary significantly from the negotiated rates.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6780611344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Components of Lease Expense and Operating Lease Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend', window );">Options to extend leases</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCostAbstract', window );"><strong>Components of lease expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease expense</a></td>
<td class="nump">$ 22,978<span></span>
</td>
<td class="nump">$ 16,513<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsAndLiabilitiesLesseeAbstract', window );"><strong>Operating lease liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Accrued liabilities</a></td>
<td class="nump">$ 79,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 74,036<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</a></td>
<td class="text">Accrued Liabilities, Current<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Noncurrent operating lease liabilities, net of current portion</a></td>
<td class="nump">$ 176,546<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171,225<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]</a></td>
<td class="text">Noncurrent operating lease liabilities, net of current portion<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="nump">$ 256,078<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 245,261<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseRenewalTerm', window );">Renewal term</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsAndLiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsAndLiabilitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates (true false) whether lessee has option to extend operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseRenewalTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseRenewalTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes current operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>srt-types:extensibleListItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes noncurrent operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>srt-types:extensibleListItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>28
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( *>.I% ?(\\#P    !,"   +    7W)E;',O+G)E;'.MDD^+
MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V
M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F'
M.>RGGD7E2B.5^S3%":4A+<TXP)6E/S/WJVR;A5ND9T*YKCM+1[873T$7LF<;
M!I99-G\LCNVW<+ZT+/0:S>,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C
M-R."?S]PN -02P,$%     @ IXZD4"?HAPZ"    L0   !    !D;V-0<F]P
M<R]A<' N>&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(?
MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/
M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+""
MWTG] E!+ P04    " "GCJ107W8T5.\    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9+!3L,P#(9?!>7>.LT82%'7"X@32$A, G&+'&^+:-HH,6KW]J1E
MZX3@ 3C&_O/YL^0:@\8^TG/L T5VE*Y&WW9)8]B( W/0  D/Y$TJ<Z++S5T?
MO>'\C'L(!C_,GD!)>0.>V%C#!B9@$1:B:&J+&B,9[N,);W'!A\_8SC"+0"UY
MZCA!558@FFEB.(YM#1? !&.*/GT7R"[$N?HG=NZ ."7'Y);4, SEL)IS>8<*
MWIX>7^9U"]<E-AU2_I6<YF.@C3A/?EW=W6\?1*.DDH5<%_)Z6]WJM=*5>I]<
M?_A=A'UOW<[]8^.S8%/#K[MHO@!02P,$%     @ IXZD4)E<G",0!@  G"<
M !,   !X;"]T:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T
M$W-I=MNTF83M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY
M\^XN8NB&B)3R>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2
MP]R"BPA+>!3+UES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?
M,_@5RU2-9:,!$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA
M5,+$P&IG/U9KQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M
M&N#C\7@XMLO2BW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_K
MFVB<"HU;3]-K=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K
M>A(5M>5 TR  6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T
M1G*=D 4. #?$T4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)
MI#-ZG7TZSFN4?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R
M.AQG0GS/]O:1I24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG
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
MMW-SW_3=7/^@53UTJM'8+F_^ %!+ P04    " "GCJ10CW9]9&D$   P%0
M&    'AL+W=O<FMS:&5E=',O<VAE970R+GAM;(6878_J-A"&_PKBOB>>L1W;
M*T J5%4KM=+J5&VOLXMW02<0FF27TW]?)V01S(RW-^2#=^S7]OBQX\6Y:;]U
MNQC[V?=#?>R6\UW?GQZ*HGO>Q4/5?6E.\9C^>6G:0]6GQ_:UZ$YMK+9CT*$N
M4*FR.%3[XWRU&-\]MJM%\];7^V-\;&?=V^%0M?^N8]V<EW.8?[SXNG_=]<.+
M8K4X5:_QC]C_>7ILTU-Q+66[/\1CMV^.LS:^+.<_PL-&VR%@5/RUC^?NYGXV
M-.6I:;X-#[]NEW,U.(IU?.Z'(JIT>8^;6-=#2<G'/U.A\VN=0^#M_4?I/X^-
M3XUYJKJX:>J_]]M^MYS[^6P;7ZJWNO_:G'^)4X/L?#:U_K?X'NLD'YRD.IZ;
MNAM_9\]O7=\<IE*2E4/U_7+='\?K>2K_(TP.P"D KP%@/@W04X F <7%V=C4
MGZJ^6BW:YCQK+Z-UJH:D@ >=.O-Y>#GVW?A?:FV7WKZOK%L4[T,YDV1]D>"-
M!.\5&ZZP_BHI4OU7$RB:P#%>W\8'.5Z+\7J,-S?QI2*-N$C*47(<)4$;9TA#
MN I0H2]E,T8T8[@9(&8N$GM3C8'2 .U60:9, )#=6-&-Y6Y(-6O+JM$V:$=Z
M<"/(C/$JTS>EZ*;D;C1Q4_)&.Z,",2.HT"DC>W&B%\>]D'18.U9+@+(L+3$C
MR9(;)[OQHAO/W9!JUIX/0*E#(!VX$63.>I^9D$%T$[B;DK@)K!JT&H# 8R/(
M#&IO93>@9$@I[H=12K&:0 6:Q)(*E,JXR2 3N!M/W0"KIW2&4FDCR8+'#/Q
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
MD=E]W9P:=UYV7\"ZB[HX]U_WPNLGQL5_4$L#!!0    ( *>.I% !52-($0(
M +4&   8    >&PO=V]R:W-H965T<R]S:&5E=#<N>&ULC97MCJ(P%(9OA7 !
ME@\%-$BRZCB:["9F-KO[N\)1R!3*ME5F[W[;TF'$(0Y_:$_[O&]/2S_BAK)7
MG@,(ZZTD%5_:N1#U B&>YE!B/J$U5++G1%F)A0S9&?&: <ZTJ"3(<YP E;BH
M["36;0>6Q/0B2%'!@5G\4I:8_5L!H<W2=NWWAI?BG O5@)*XQF?X">)7?6 R
M0IU+5I10\8)6%H/3TO[F+O:^XC7PNX"&W]0M-9,CI:\JV&=+VU$) 8%4* <L
MBRNL@1!E)-/X:SSM;D@EO*V_NV_UW.5<CIC#FI(_12;RI1W95@8G?"'BA38[
M,/.9V9:9_'>X I&XRD2.D5+"]==*+US0TKC(5$K\UI9%I<NF[0E#(QL6>$;@
M=0)W^E#@&X$_5C U@NE8P<P(9A\"_Z$@,()@[ BA$81C!9$11&,%<R.8WPE0
M^__TAMA@@9.8T<9B[9:NL3HY[F(NMURJ&O4.TWUR3W#9>DW<V31&5V5DF%7+
M>#UFUF?60TS09S9#3-AGGH:8J,]LAYAYGWD>8 *GS^P^,UZ?V ^X.!\N2*YL
MM[S>X/)ZVL#OI>$.&_B#!KXVF/8,[K)<M8SK:*C2D#-Q[E9_/8K:C**>1E';
M4=3S*&K74M%#:/\%U"XWNCD:ZD+_@=FYJ+AUI$*>,GT63I0*D(;.1-X0N7Q#
MNH# 2:AJ*.NLO4G;0-#:/!*H>ZF2_U!+ P04    " "GCJ10VU<(,@X%   E
M&0  &    'AL+W=O<FMS:&5E=',O<VAE970X+GAM;'V946_B.!2%_PKBO4-\
M[<1V19&:K%:[TJY4S6IVGU-P"QH@;)*6V7^_3J ,W'O<ET+2X^MS8_OSC9D?
MF_9[MPZAG_S8;??=PW3=]X?[V:Q;KL.N[KXTA["/_WEIVEW=Q\OV==8=VE"O
MQD:[[8RRK)CMZLU^NIB/]Y[:Q;QYZ[>;?7AJ)]W;;E>W_Y5AVQP?IFKZ<>/K
MYG7=#S=FB_FA?@U_A?[;X:F-5[-+E-5F%_;=IME/VO#R,'U4]Y7)AP:CXN]-
M.'97WR=#*L]-\WVX^'WU,,T&1V$;EOT0HHX?[Z$*V^T0*?KX]QQT>NES:'C]
M_2/ZKV/R,9GGN@M5L_UGL^K7#U,WG:S"2_VV[;\VQ]_".:%\.CEG_T=X#]LH
M'YS$/I;-MAO_3I9O7=_LSE&BE5W]X_2YV8^?QW/\CV:X 9T;T*6!RC]MH,\-
M],\&9DS^Y&Q,]9>ZKQ?SMCE.VM-H'>IA4JA['1_F<K@Y/KOQ?S';+MY]7ZA"
MSV?O0Z"SICQIZ%IS4<QB]$L7A+HH232GVPXJJ5!9AKO0, L]!M W61@<P,
M9@Q@K@,HPQ[#25.,FOVHN=-6,U4E5>1U@;WDT$L.DLEQ@ (&*&0R1<&2.6GR
M*YO*6V]9,E)%RJ:&QD(S%IAAW916=&.\9U: QEELQ$$C#AAQS(@3G=R15HI9
M0:KX7+ 9#\UX8(9E7'KP5&S&O$B1,B9A1648 9DTP_LISZ*;CASQ)P-4+C%;
M5()'2LY^F\"-@KQY5 3R(9X/R4%4VHNQ1CHREBAA"?-):6&I$(XT<)07CL,2
MZ4B32QC"O%, >%9PW\B>C#-\92(9Q663,(2AIW)A2,[!7.(HX_P%(N52HX7Y
MJ21 Y;,!:-1>[ 9 =I=[Y5.CA1FJ)$0MWYV4!&2</MJ)T9(ZRGUJD6*4*L!2
M:4AB4BGA!K#T$X!AF"I)4YMS-Q*4=\H*.T#EBZN"Z+;<P3PER5.^B$N2H+RS
M.=ND*Z BEY@ZA'E*"@P5?SAGT>TL-7R;KI#,4N83U0UA/!,!PJ="8)R2Q*FR
MO*@@P$DO-W,D4T;;Q!0DS%-"/.75!4E0%CX3Q;!4&9T"!F&:DJ2IF.PE25+&
MK2WC:P+)O+^*=FL((Y4*.>BIRH P! E4DDZ,)B@3LRQ5L1+&&P&\B6V8 +D^
MZPJCBT AZ/A>0Y)*A<MX)0A4<1/.$F\.&K-+@UK0<;)K "\5:U..+ZBSU[7E
MK25,, T(YCC!M$13SM=?!41Q$B;>$S6FEP;%I>,O5QH4C396!XF>$N^T '*.
M0TZC8M"+;1;)=&92AC#C-&"<XXS3H!A4Q,>K0C)*; (:,TX#QO%JI]0 7BH^
M'^%'ZN+^EYJHF'$:O'=[7L-J4#?F8KBD2%-B0]*8EAK0TBMN!M2,5#C%68=T
MUF8VL2EIC%4-L.IY8:1!U4@9\256(5VNLE2IIC%^-<"OY_C5$JRQT.?U;@5D
M<<V[!'\-YJ_)Y#[I4R=9F)<&\)+/]])(%)JLX+LI5J4RPL T )B> ], 8&I^
M(%(A59R%"3N8J@90E1][E4;B,@ZX*!V!S+G4NXM)'#P:,.")=64P" T (3\^
M*\^BFW-))S (5#K+^9O\[.IP>1?:U_$<OILLF[=]/QSC7MV]G/4_TG XS>Z7
MZKXZG=C_#'/Z >'/NGW=[+O)<]/WS6X\H'YIFCY$D]F7:'(=ZM7E8AM>^N&K
MC=_;T\']Z:)O#N<?)6:77T86_P-02P,$%     @ IXZD4%("";NS 0  T@,
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
MCR\;^U\;XP&E)%<X0BU^L,504/MP?(]G.XW99'C3SS^(+=^X^ 502P,$%
M  @ IXZD4$?VZ>6R 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,34N
M>&UL?5-A;]P@#/TKB!]0+ERV5:<D4J_3M$J;=.JT]3.7. DJA!3(I?OW,R1-
MTR[;%\#&[_G9F&PT]M&U )X\:]6YG+;>]P?&7-F"%N[*]-#A36VL%AY-VS#7
M6Q!5!&G%^&[WD6DA.UIDT7>R168&KV0')TO<H+6POX^@S)C3A+XX[F73^N!@
M1=:+!GZ _]F?+%IL8:FDALY)TQ$+=4YODL,Q#?$QX)>$T:W.)%1R-N8Q&'=5
M3G=!$"@H?6 0N%W@%I0*1"CC:>:D2\H 7)]?V+_$VK&6LW!P:]2#K'R;TVM*
M*JC%H/R]&;_"7,\'2N;BO\$%%(8')9BC-,K%E92#\T;/+"A%B^=IEUW<Q^DF
M36;8-H#/ +X KF,>-B6*RC\++XK,FI'8J?>]"$^<'#CVI@S.V(IXA^(=>B\%
M3Y*,70+1''.<8O@JYC6"(?N2@F^E./*_X'P;OM]4N(_P_3\4OB%(-PG22)#^
MM\2MF/<JV:JG&FP3I\F1T@Q=G.25=QG8&Q[?Y#5\FO;OPC:R<^1L/+YL[']M
MC >4LKO"$6KQ@RV&@MJ'XR<\VVG,)L.;?OY!;/G&Q1]02P,$%     @ IXZD
M4'48[(BS 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,38N>&UL?5-A
M;]P@#/TKB!]0+ES65:<D4J_3U$J;=.JT[3.7. DJA!3(I?OW,R2795NV+X"-
MW_.S,=EH[(MK 3QYTZIS.6V][P^,N;(%+=R-Z:'#F]I8+3R:MF&NMR"J"-**
M\=WNEFDA.UIDT7>R168&KV0')TO<H+6P/XZ@S)C3A%X=S[)I?7"P(NM% U_
M?^U/%BVVL%120^>DZ8B%.J?WR>&8AO@8\$W"Z%9G$BHY&_,2C*<JI[L@"!24
M/C (W"[P $H%(I3Q.G/2)64 KL]7]H^Q=JSE+!P\&/5=5K[-Z1TE%=1B4/[9
MC(\PU_..DKGX3W !A>%!">8HC7)Q)>7@O-$S"TK1XFW:91?W<;KA5]@V@,\
MO@#N(H!-B:+R#\*+(K-F)';J?2_"$R<'CKTI@S.V(MZA>(?>2\&3?<8N@6B.
M.4XQ?!63+!$,V9<4?"O%D?\%Y]OP_:;"?83O_Z'P-X)TDR"-!.E_2]R*2?](
MPE8]U6";.$V.E&;HXB2OO,O WO/X)K_"IVG_+&PC.T?.QN/+QO[7QGA *;L;
M'*$6/]AB**A].+['LYW&;#*\Z><?Q)9O7/P$4$L#!!0    ( *>.I%  V1&N
MM $  -(#   9    >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;'U3VV[4,!#]
M%<L?4&^\VU*MDDC=(@022*LBX-F;3!*KO@3;V92_9^RD(4#@Q?:,YYPY,Q[G
MHW7/O@,(Y$4KXPO:A= ?&?-5!UKX&]N#P9O&.BT"FJYEOG<@Z@32BO'=[HYI
M(0TM\^0[NS*W0U#2P-D1/V@MW(\3*#L6-*.OCB?9=B$Z6)GWHH7/$+[T9X<6
M6UAJJ<%X:0UQT!3T(3N>#C$^!7R5,/K5F<1*+M8^1^-#7=!=% 0*JA 9!&Y7
M> 2E(A'*^#YSTB5E!*[/K^SO4NU8RT5X>+3JFZQ#5]![2FIHQ*#"DQW?PUS/
M+25S\1_A"@K#HQ+,45GETTJJP0>K9Q:4HL7+M$N3]G&ZX?L9M@W@,X O@/N4
MATV)DO*W(H@R=W8D;NI]+^(39T>.O:FB,[4BW:%XC]YKR;/;G%TCT1QSFF+X
M*B9;(ABR+RGX5HH3_PO.M^'[387[!-__0^%O!(=-@D,B./RWQ*V8NS^2L%5/
M-;@V39,GE1U,FN25=QG8!Y[>Y%?X-.V?A&NE\>1B [YLZG]C;0"4LKO!$>KP
M@RV&@B;$XQL\NVG,)B/8?OY!;/G&Y4]02P,$%     @ IXZD4%R,T*FT 0
MT@,  !D   !X;"]W;W)K<VAE971S+W-H965T,3@N>&UL?5-A;]L@$/TKB!]0
M8I*N461;:EI-F[1*4:MMGXE]ME'!>(#C]M_WP*[G;5Z_ '?<>_?N.-+!V&?7
M 'CRHE7K,MIXWQT8<T4#6K@KTT&+-Y6Q6G@T;<U<9T&4$:05XYO-)Z:%;&F>
M1M_)YJGIO9(MG"QQO=;"OAY!F2&C"7UW/,JZ\<'!\K03-3R!_]Z=+%IL9BFE
MAM9)TQ(+549OD\-Q%^)CP \)@UN<2:CD;,QS,+Z6&=T$0:"@\(%!X':!.U J
M$*&,7Q,GG5,&X/+\SOXYUHZUG(6#.Z-^RM(W&=U34D(E>N4?S? %IGJN*9F*
M_P874!@>E&".PB@75U+TSAL]L: 4+5[&7;9Q'\8;?CW!U@%\ O 9L(]YV)@H
M*K\77N2I-0.Q8^\[$9XX.7#L31&<L17Q#L4[]%YRGMRD[!*(IICC&,,7,<D<
MP9!]3L'74ASY/W"^#M^N*MQ&^/8_"O\@V*T2["+![L,2UV+V?R5ABYYJL'6<
M)D<*T[=QDA?>>6!O>7R3W^'CM#\(6\O6D;/Q^+*Q_Y4Q'E#*Y@I'J,$/-AL*
M*A^.-WBVXYB-AC?=](/8_(WS-U!+ P04    " "GCJ10V/J*B+4!  #2 P
M&0   'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6Q]4V%OW" ,_2N('U 2[MIU
MIR12K].T2:MTZK3M,Y<X"2K$*9!+^^\'),VR+=L7P,;O^=F8;$3S9%L 1UZT
MZFQ.6^?Z V.V;$$+>X4]=/ZF1J.%\Z9IF.T-B"J"M&(\26Z8%K*C119])U-D
M.#@E.S@98@>MA7D]@L(QIRE]<SS*IG7!P8JL%PU\!?>M/QEOL86EDAHZ*[$C
M!NJ<WJ6'XS[$QX#O$D:[.I-0R1GQ*1B?JYPF01 H*%U@$'Z[P#TH%8B\C.>9
MDRXI W!]?F/_&&OWM9R%A7M4/V3EVIS>4E)!+0;E'G'\!',]UY3,Q7^!"R@?
M'I3X'"4J&U=2#M:AGEF\%"U>IEUV<1^G&WX]P[8!? ;P!7 ;\[ I453^03A1
M9 9'8J;>]R(\<7K@OC=E<,96Q#LOWGKOI>#I^XQ= M$<<YQB^"HF72*89U]2
M\*T41_X7G&_#=YL*=Q&^^X?"WPCVFP3[2+#_;XD;,3SY(PE;]52#:>(T65+B
MT,5)7GF7@;WC\4U^A4_3_B!,(SM+SNC\R\;^UX@.O)3DRH]0ZS_88BBH73B^
M\V<SC=ED..SG'\26;US\!%!+ P04    " "GCJ10OM*/Z[(!  #2 P  &0
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
MX\O&_C?&>,!4DAL<H0X_V&I(:'PXOL>SG<=L-KP9EA_$UF]<_@%02P,$%
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
M)\%H*?X+7(%;N,O$:I22:_]%Y:B-% N+346PMWGM>K].\TER6,+" 70)H&O
MO=<ALY#/_(D95F1*3DC-=S\P]XMW1VKOIG1.?Q7^S":OK?=:T'B7D:LC6C"G
M&4,WF \$L>RK! U)G.@_X30<O@]FN/?A^ZUZ]!^".$@0>X+XKQ+I38DAS#XL
MD@1%D@!!?",2PB1AD30HD@8(TAN1$.9P(T(VW2% -7XN-"KEV/N9W'C7T7N@
MOKL^X//<?F6JZ7J-+M+8'O6=5$MIP*82W=F"6_M4K :'VKCMP>[5/#"S8>2P
MO 5D?9"*/U!+ P04    " "GCJ10E_.&G] !  "<!   &0   'AL+W=O<FMS
M:&5E=',O<VAE970R.2YX;6QU5&UOVR 0_BN('U!LXF1M9%MJ6E6;M$E1IVV?
MB7U^4<%X@./NWP^PXWD>^Q*X\_-R1SC24:HWW0 8]"YXIS/<&-,?"=%% X+I
M.]E#9[]44@EF;*AJHGL%K/0DP0F-H@,1K.UPGOK<6>6I' QO.S@KI <AF/IU
M B['#,?XEGAMZ\:X!,G3GM7P%<RW_JQL1!:5LA70Z59V2$&5X<?X>#HXO =\
M;V'4JSURG5RD?'/!IS+#D2L(.!3&*3"[7.$).'="MHR?LR9>+!UQO;^IO_C>
M;2\7IN%)\A]M:9H,WV-40L4&;E[E^!'F?O88S<U_ABMP"W>56(]"<NU_43%H
M(\6L8DL1['U:V\ZOXZQ_HX4)=";0#8%,1K[R9V98GBHY(C6=?<_<7QP?J3V;
MPB7]4?AOMGAML]><)O<IN3JA&7.:,'2%B1<$L>J+!0U9G.@_=!JF[X(5[CQ]
MMZ9'#V&!)"B0>('DKQ8?-BT&,/LH;+(/FNP# O'&)(3YSU$<@B:'@,!N8Q+"
M)!L3LKH= E3MYT*C0@Z=G\E5=AF]1^IOUQ_X-+=?F*K;3J.+-/:.^IM426G
MEA+=V88;^U0L 8?*N.T'NU?3P$R!D?W\%I#E0<I_ U!+ P04    " "GCJ10
MCVVP*+8!  #2 P  &0   'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6QU4^UN
MVR 4?17$ Y28)&T5V9::5M4F;5+4:=MO8E_;J.#K 8Z[MQ]@Q_4Z[P]P+^><
M^\$E'="\V@; D3>M6IO1QKGNP)@M&M#"WF 'K;^IT&CAO&EJ9CL#HHPDK1C?
M;&Z9%K*E>1I])Y.GV#LE6S@98GNMA?E]!(5#1A-Z=;S(NG'!P?*T$S5\ _>]
M.QEOL5FEE!I:*[$E!JJ,/B2'XR[@(^"'A,$NSB14<D9\#<;G,J.;D! H*%Q0
M$'Z[P",H%81\&K\F33J'#,3E^:K^'&OWM9R%A4=4/V7IFHS>4U)")7KE7G#X
M!%,]>TJFXK_ !92'ATQ\C *5C2LI>NM03RH^%2W>QEVV<1_&F_V5MD[@$X'/
MA/M(8&.@F/F3<")/#0[$C+WO1'CBY,!];XK@C*V(=SYYZ[V7G._W*;L$H0ES
M'#%\@4EF!//J<PB^%N+(_Z'S=?IV-<-MI&^7].0_\7>K KLHL/NKQ-L/):YA
M[CX$88N>:C!UG"9+"NS;.,D+[SRP#SR^R3M\G/:OPM2RM>2,SK]L['^%Z,"G
MLKGQ(]3X#S8;"BH7CG?^;,8Q&PV'W?2#V/R-\S]02P,$%     @ IXZD4-S?
M\6FX 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL;5/;;IPP
M$/T5RQ\0@Y>DFQ4@95-5J=1*JU1-GKTP@!5?B&V6].]K&T)HRHOM&9]SYN)Q
M/FKS8CL A]ZD4+; G7/]@1!;=2"9O=(]*'_3:".9\Z9IB>T-L#J2I" T26Z(
M9%SA,H^^DRES/3C!%9P,LH.4S/PY@M!C@5/\[GCD;>>"@Y1YSUKX!>YW?S+>
M(HM*S24HR[5"!IH"WZ6'8Q;P$?#$8;2K,PJ5G+5^"<;WNL!)2 @$5"XH,+]=
MX!Z$"$(^C==9$R\A W%]?E?_%FOWM9R9A7LMGGGMN@+O,:JA88-PCWI\@+F>
M:XSFXG_ !82'ATQ\C$H+&U=4#=9I.:OX5"1[FW:NXCY.-]GM3-LFT)E %\(^
MQB%3H)CY5^98F1L](C/UOF?AB=,#];VI@C.V(M[YY*WW7DIZO<_))0C-F..$
MH2M,NB"(5U]"T*T01_H?G6[3=YL9[B)]MZ:GNVV!;%,@BP+9/R7>?BIQ W.3
M? I"5CV58-HX3195>E!QDE?>96#O:'R3#_@T[3^9:;FRZ*R=?]G8_T9K!SZ5
MY,J/4.<_V&((:%PX?O%G,XW99#C=SS^(+-^X_ M02P,$%     @ IXZD4&#Y
M8Z;  0  -P0  !D   !X;"]W;W)K<VAE971S+W-H965T,S(N>&UL;53;;N,@
M$/T5Q >4F,3=561;:EI576E7BKK:[3.QQQ>5BPLX[O[] G9<-^4E,.-SSIP!
M)MFH]*MI 2QZ%UR:'+?6]GM"3-F"8.9&]2#=EUIIP:P+=4-,KX%5@20XH9O-
M+1&LD[C(0NZHBTP-EG<2CAJ900BF_QV JS''";XDGKNFM3Y!BJQG#?P&^Z<_
M:A>11:7J!$C3*8DTU#F^2_:'U.,#X&\'HUGMD>_DI-2K#WY4.=YX0\"AM%Z!
MN>4,]\"Y%W(VWF9-O)3TQ/7^HOX8>G>]G)B!>\5?NLJV.?Z.404U&[A]5N,3
MS/VD&,W-_X0S< ?W3ER-4G$3?E$Y&*O$K.*L"/8^K9T,ZSCK7VAQ IT)](I
MID+!^0.SK,BT&I&>SKYG_HJ3/75G4_ID.(KPS9DW+GLNZ&V2D;,7FC&'"4-7
MF \$<>I+"1HK<:!?Z#1.WT8=;@-]NZ8G:5Q@%Q78!8'=IQ;I58LQS#9>)(T6
M22,"NZLB,<QU)V1U<0)T$YZL0:4:9!B757:9BCL:+OX#/HW4+Z:;3AIT4M8]
MGW#)M5(6G)7-C?/2NBE> @ZU]=MO;J^GMSP%5O7SF)+EOZ+X#U!+ P04
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
M=V]R:W-H965T<R]S:&5E=#,V+GAM;'54VV[;, S]%4$?4#ERLJ2!;:!I46S
M!@0=UCTK-GU!=?$D.>[^?I+L>D:FO5@B=<XA*8K.1J7?3 M@T;O@TN2XM;8_
M$F+*%@0S=ZH'Z4YJI06SSM0-,;T&5@62X(0FR2<B6"=QD07?61>9&BSO))PU
M,H,03/\^ 5=CCC?XP_'2-:WU#E)D/6O@.]@?_5D[BRPJ52= FDY)I*'.\</F
M>-IY? "\=C":U1[Y2BY*O7GC2Y7CQ"<$'$KK%9A;KO (G'LAE\:O61,O(3UQ
MO?]0?PZUNUHNS,"CXC^[RK8Y/F!40<T&;E_4^!GF>G88S<5_A2MP!_>9N!BE
MXB9\43D8J\2LXE(1['U:.QG6<3I)[V=:G$!G ET(AQ"'3(%"YD_,LB+3:D1Z
MNON>^19OCM3=3>F=X2K"F4O>..^UH/O[C%R]T(PY31BZPFP6!''J2P@:"W&B
M_]!IG)Y&,TP#/5W3Z3XNL(T*;(/ =BUP2&Y*C&'^4^0N&F07$: W06*8]"8(
M635.@&["DS6H5(,,X[+R+E/Q0$/C_\*GD?K&=--)@R[*NN<3FEPK9<&EDMRY
M7%HWQ8O!H;9^NW=[/;WER;"JG\>4+/^*X@]02P,$%     @ IXZD4(Q=.5&W
M 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,S<N>&UL=5/;;MP@$/T5
MQ >$7=9)5RO;4C95E$B-M$K5]IFUQS8*& ?P.OG[#MAQW=1] 68XY\R%(1V,
M?7$-@"=O6K4NHXWWW8$Q5S2@A;LR';1X4QFKA4?3ULQU%D0925HQOMG<,"UD
M2_,T^DXV3TWOE6SA9(GKM1;V_0C*#!G=T@_'LZP;'QPL3SM1PW?P/[J318O-
M*J74T#II6F*ARNCM]G!, CX"?DH8W.),0B5G8UZ"\5AF=!,2 @6%#PH"MPO<
M@5)!"--XG33I'#(0E^</]?M8.]9R%@[NC/HE2]]D=$])"97HE7\VPP-,]5Q3
M,A7_#2Z@$!XRP1B%42ZNI.B=-WI2P52T>!MWV<9]&&^2_41;)_")P&?"/L9A
M8Z"8^5?A19Y:,Q []KX3X8FW!XZ]*8(SMB+>8?(.O9><[Y.478+0A#F.&+[
M;&<$0_4Y!%\+<>3_T/DZ?;>:X2[2=TOZ[C\"R:I $@62OTJ\_E3B&N;F4Q"V
MZ*D&6\=I<J0P?1LG>>&=!_:6QS?Y Q^G_4G86K:.G(W'EXW]KXSQ@*ELKG"$
M&OQ@LZ&@\N'X!<]V'+/1\*:;?A";OW'^&U!+ P04    " "GCJ10"+2%[-T!
M  "Y!   &0   'AL+W=O<FMS:&5E=',O<VAE970S."YX;6R-5&UOFS 0_BL6
M/Z &)X0T J2FU;1)FQ1U6O?9@>-%M3&S3>C^_6Q#&$L]J5^P[_S<<\\=/J>C
MD*^J =#HC;-.94&C=7_ 6!4-<*KN1 ^=.:F$Y%0;4]98]1)HZ8(XPR0,=YC3
MM@ORU/E.,D_%H%G;P4DB-7!.Y>\C,#%F011<'<]MW6CKP'G:TQJ^@_[1GZ2Q
M\,)2MAPZU8H.2:BRX"$Z'!.+=X"7%D:UVB-;R5F(5VM\*;,@M(* 0:$M S7+
M!1Z!,4MD9/R:.8,EI0U<[Z_LGUSMII8S5? HV,^VU$T6[ -40D4'II_%^!GF
M>N( S<5_A0LP [=*3(Y",.6^J!B4%GQF,5(X?9O6MG/K.)ULKF'^ #('D"6
M3+5,B9SR)ZIIGDHQ(CGUOJ?V%T<'8GI36*=KA3LSXI7Q7G*R3U)\L40SYCAA
MR H3+0ALV)<4Q)?B2-Z%D_W>3[#Q:MPX@LV:( S]!%LOP=81;/]1<']3Y(2)
M':9SF-B?(O:FB-^GN/^/QIV78/?Q(A,O0>)1$-T4Z<.0FR1X=74XR-H-C4*%
M&#HWL"OO,I</Q%V]O_!IJ+]16;>=0F>AS05VUZP20H.1$MZ9CC7F'5D,!I6V
MV\3LY31-DZ%%/S\4>'FM\C]02P,$%     @ IXZD4.HK.,5O @  A@@  !D
M  !X;"]W;W)K<VAE971S+W-H965T,SDN>&ULE5;;CILP$/T5Q <LV 9R$4%*
M4E6MU$K15FV?'>($M("I[83MW]<VA!(8MML7L(<SY\P,'H:XX>)%9HPIY[4L
M*KEQ,Z7JM>?)-&,EE4^\9I5^<N:BI$IOQ<63M6#T9)W*PL.^'WDES2LWB:WM
M()*87U615^P@''DM2RI^[UC!FXV+W+OA.;]DRAB\)*[IA7UCZGM]$'KG]2RG
MO&25S'GE"';>N%NTWJ/0.%C$CYPU<K!V3"I'SE_,YO-IX_HF(E:P5!D*JF\W
MMF=%89AT'+\Z4K?7-([#]9W]HTU>)W.DDNUY\3,_J6SC+EWGQ,[T6JAGWGQB
M74*AZW39?V$W5FBXB41KI+R0]NJD5ZEXV;'H4$KZVM[SRMZ;CO_N!CO@S@'W
M#H2\Z4 Z!]([X)5-OHW,IOJ!*IK$@C>.:-]63<VA0&NBBYD:HZV=?::SE=IZ
M2_"*Q-[-$'6878O! PSJ$9YF[R4P)+'#$W>\"AXE]A FA$4(F >Q!.2!((()
M I @L 3! \%B5(@6$UI,U1;"AS5"4",$-)8CC7"J 4M$H$0$2*Q&$A &PR(+
M4&0Q(2"^/Q)I,=$@CT5 <# Z6_LI+(I0&"[A<)9@.$L@G)FBK4""U?L/#_+A
M-O+?<7PZT,SY:>OQ-N8QE)F.1D Y\#@4"#1^-R HF D&[/TMP@#%3&,CN+/1
M?[0V@GL;39L;* D$FM.!^QM-&YSXDU/P[P[W!E_ODHF+'7322?FU4N8K.;#V
MPW2+S==_9-^9(6NGPE^:=D)_I>*25](Y<J5GBYT 9\X5TQ'Z3SJV3/\4])N"
MG959+O1:M).QW2A>=U/?ZW\]DC]02P,$%     @ IXZD4(9#=)^# @  P@@
M !D   !X;"]W;W)K<VAE971S+W-H965T-# N>&ULE5;;CILP$/T5Q <L&,PE
M$4'*154KM5*T5;?/#G$"6L#4=I+MW]<V+$M@2-L7L,V9,\?'#$-R8_Q5Y)1*
MZZTJ:[&R<RF;I>.(+*<5$4^LH;5Z<F*\(E)-^=D1#:?D:(*JTO%<-W0J4M1V
MFIBU/4\3=I%E4=,]M\2EJ@C_O:$ENZUL9+\O/!?G7.H%)TT:<J;?J?S1[+F:
M.3W+L:AH+0I66YR>5O8:+7<HU $&\5+0FQB,+;V5 V.O>O+EN+)=K8B6-).:
M@JC;E6YI66HFI>-71VKW.77@</S._LEL7FWF0 3=LO)G<93YRHYMZTA/Y%+*
M9W;[3+L-!;;5[?XKO=)2P;42E2-CI3!7*[L(R:J.14FIR%M[+VISO[5/HK@+
M@P.\+L#K U3N1P%^%^!_!."' ;@+P*, I]V*\69')$D3SFX6;X^W(?HM0DNL
MW,_THC';/%/V"+5Z37TW3IRK)NHPFQ;C#3"H1SB*O4_A02DVWB3<NT^PG2*"
MD8;=%.*["UB%#V[4-P3^D "Y, $&"; AP'<$:*2RQ80&4QO,PIU)$H!) B#)
MR*U-,$DRDR($4X2 $3/G&8$$$:#1'QD1332J3]&,S!C,$@-9,$RP  D6_W[@
MR(5KPYUH"-UQ;;288'CD/H[PZ WO8$-#D.=Z<3@C:*98$6!*,$,!%N,:>?]A
M"UQ)R/][)6PZT+TO\=B5QZ![,7!5(J@LYUR%:PX%@"71# 5<4R@$5$P^H^'T
M'4 835Z5*2S$V!_I<08?^(KRLVF>PLK8I3:=>[#:-^BU9QK$![SM[M\(/Q>U
ML Y,JC9CFL&),4F5&/=)>9.K'XI^4M*3U,-(C7G;5=N)9$WWQ^#TORWI'U!+
M P04    " "GCJ10%L*A\/L!   C!0  &0   'AL+W=O<FMS:&5E=',O<VAE
M970T,2YX;6QU5.V.FS 0?!7+#Q"#(20Y$:3+554KM5)T5:^_';()Z&Q,;2=<
MW[[^()3F?/S ]C([,VOL+0>I7G4#8-";X)W>XL:8_H$073<@F%[('CK[Y225
M8,8NU9GH7@$[^B3!"4V2@@C6=K@J?6ROJE)>#&\[V"ND+T(P]6<'7 Y;G.);
MX+D]-\8%2%7V[ P_P/SL]\JNR,1R; 5TNI4=4G#:XL?T8;=R> ]X:6'0LSER
ME1RD?'6+K\<M3IPAX% ;Q\#L<(4GX-P161N_1TX\2;K$^?S&_MG7;FLY, U/
MDO]JCZ;9XC5&1SBQ"S?/<O@"8SU+C,;BO\$5N(4[)U:CEES[-ZHOVD@QLE@K
M@KV%L>W\.(S\M[1X AT3Z)1 0RU!R#O_Q RK2B4'I,+>]\S]XO2!VKVI7=!O
MA?]FS6L;O599NBG)U1&-F%W T!DFG1#$LD\2-":QH^_2,YK$";*HQ\P39'/]
MA,8)\BA![@GR_QRD=T4&3.$QG<?09/V!S65491E1H7<J 9.F,YEL4<15BJA*
M$5')[E2*]RJ;?)$GL^>#/[B*:JXBFOF=9L"D=*:Y3A;+S?RYTR2S0RI G?WU
MU*B6E\ZWAEETZ@"/U!_R?_#0/KXS=6X[C0[2V*OB#_1)2@/6F36!46,[UK3@
M<#)NNK)S%>YM6!C9CRV)3'VQ^@M02P,$%     @ IXZD4-X.\&O% 0  -P0
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
M)FK/QV$V'B3KISGMS7\6Y5]02P,$%     @ IXZD4*ZT!"7D!@  LBH  !D
M  !X;"]W;W)K<VAE971S+W-H965T-#4N>&ULE9K=;N,V$(5?Q? #K/D[0RZ2
M )L410NTP&*+MM?:1$F,M:W45I+MVY>2E:PMGBG(F]A6CBC.6&?XF9J+UV[_
M[?#8MOWB^W:S.UPN'_O^Z>-J=;A];+?-X4/WU.[2?^Z[_;;IT\?]P^KPM&^;
MN_&D[69EE*+5MEGOEE<7X['/^ZN+[KG?K'?MY_WB\+S=-OM_K]M-]WJYU,NW
M U_6#X_]<&!U=?'4/+1_M/V?3Y_WZ=/J?92[];;='=;=;K%O[R^7G_3'&ZWB
M<,8H^6O=OAY.WB^&6+YVW;?APZ]WETLU3*G=M+?],$:37E[:FW:S&89*$_EG
M&G7Y?M'AQ-/W;Z/_/$:?HOG:'-J;;O/W^JY_O%R&Y>*NO6^>-_V7[O67=HK(
M+Q=3^+^U+^TFR8>9I&O<=IO#^'=Q^WSHN^TT2IK*MOE^?%WOQM?7:?RWT_ )
M9CK!O)^0KOU_)]CI!/OC!#<&?YS9&.I/3=]<7>R[U\7^^'4]-<-=H3_:E,S;
MX>"8N_%_*=I#.OIR99V^6+T, TV:ZZ/&G&A^*%9I]/=+&'2):Y.=;LXO<),K
MM%+X$A9&8<<![%D4!@_@X !N',"=S6 VR^NCAD;-;M2PL\;963"YC$A['_!T
M/)R.SZ9C3ZYS-@#! :@\(0P'X(*$'#7^)%*CF3G.$I++M",3/)Y.@-,)("$.
M#Q#A +$\(5IAIZB"E$RBTV"MH1!HEA.@,SX:Z:[7@GDU2(N05PW-^4F;BL1@
M\VE;DAB;WP4Q> [SQ.0ZXTFQ</=K;&>=^]DZ$H; %M2^(C'8A)I*$D-YP*R<
MRA(#=-&$$[>=3PG;6N>^MHZ%(; 5=:A(##:CCB6)B5G CDVP?IZ87&<ID)08
M@]UM<G=;)]1L@]UH='EB#':C,06)F43G5B(=YPL1TCEO@V E@]UM<G=;)^46
MN]&XBL1@-YI\102)\2!@%[R:)R;7L=?2 FNPN4UN;NN%\FVP&0U7Y 6;T>0+
M(\A+R/,2]#PIN2AQBY03[&N3^]IZ@14M]J%5Y3FQV(<V7Q7SG$RBTW"]UC0G
M4R C2T:HF!:[VN:NMEZ*20#<"L*UV(6VA'$GT5DQ917G-1?(7-110 ^+/6T!
MY7KAAK/8A+:"<RTVH2TA70L8UD<5YXLTT*7*'(1UQ&)/6P"[7H!=BXUH*W#7
M82.Z$MQU.<;JJ+W)?A,!75I>M1"5P\9V '>]<,\Y;$57@;L.6]&5X*X#N.M/
MV7S*"Y"QD<J+$WZ[ MCU NPZ;$57 ;L.6]&5P*[+(3;H8.<+-)!9ENX5;&L'
M0-=+><4^=!6@Z[ /70GHNAQ@HSN%SRDIN4RGFT5:HCVVM0><*^Y-8!OZ"L[U
MV(:^A'-]SJ^.V,Z7:" S.DB(ZK&I/:!<+PV!;>@K*-<+VSXEE.LAY7*< QW2
M:1-)*)@>V]H#S"4!<SVVHJ_ 7(^MZ$LPUP/,=:QY7EV@CHP22J;'UO: =4E@
M7<)>I K6)>Q%*F%=RB'6.!7F^W1(9IB$HDG8V018EZ28L!>I@G4)>Y%*6)=R
MB V*;):67$8<6*B9A)U-@'5)VM$5MG0K6)>P$ZF$=2EG6&><FY==(//>BP[
MOB: NB0L](1]2!6HR]B'7(*Z#!!6.:7G91?I='22!QC[F@'J2I6;L1.Y G49
M.Y%+4)=SAG56^^PI -C8)98V\1G[F@'JDE"W&3N1*U"7L1.Y!'4Y9]@DXN#F
M>0&ZA"_2;A0+CVL [DJ5F[$7N0)W&7N12W"7 <>F6CA_0@)DP4DE,V!C!P"[
M)!3N@(T8*F W8".&$M@-.<6&M,C,701D6OG@A+(;L*\#H%T2:#=@)X8*V@W8
MB:&$=D-.L3:K+4#DM)4"PJ8. '19 -V 31@J0#<(SSE+0#?D !LT\[RR )E6
MZ1>CY"'LZ0 XEX7;+6(;Q@K.C=B&L81S(P#8%/&<_X%,$QOANX[8U!%P+DLQ
M81?&"LZ-V(6QA'-C#K"I9GB>;](A74J,EJ:$71T!Z4I/;R.V8JP@W8BM&$M(
M-X)=W1BRZ@)DQI#4OQ"QL2,@76E+*PHM#%4]#%(30UD70PZQ[-W)@^)C9J N
MN"C$E;PH3 K0+DM]#$IH9% UG0Q*:&501;T,"FS;*D-Y>M NL+=2+X,2FAD4
MH%Z6NAF4T,Z@:OH9E-#0H(HZ&E2.M!SS#IA<1=(#5*V$=@8%N)>E?@8E-#2H
MFHX&);0TJ**>ADE%9W>.8\YO'2#4I+*?D:N31K]MNW\8>R(/B]ON>=</+74G
M1]\;+S^9H5%P=OQZ:,@<&PA_#'/LYOR]V3^L=X?%UZ[ON^WET"QXWW5]F^:I
M/J2O[[%M[MX_;-K[?G@[_,S:'YLHCQ_Z[NGRV"&Z>F]3O?H/4$L#!!0    (
M *>.I%"?Z8!B> (  *H)   9    >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM
M;(U6VXZ;,!3\%<0'K#'&7%8$J9NH:J56BK9J^^PD3D +F-I.V/Y];<,B D[A
M)=AF9I@SX6"G+>-O(J=4.N]568N-FTO9/ ,@CCFMB'AB#:W5G3/C%9%JRB]
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
MMW\?:<FN:Q_Y[Q/?B^-)J(E@LVKR(_U!Q<_FN96CH&?9%Q6M><%JKZ6'M?^
MED\D4@8:\:N@5SYX]U0J+XR]JL&7_=H/542TI#NA*'+YN-",EJ5BDG'\,:1^
M[U,9#M_?V3_IY&4R+SFG&2M_%WMQ6ONI[^WI(3^7XCN[?J8FH=CW3/9?Z866
M$JXBD3YVK.3ZU]N=N6"589&A5/E;]RQJ_;P:_G<SV  ; ]P;8/2A 3$&9*I!
M9 RBJ0:Q,8A[ Z37*^ARU\7<YB+?K%IV]=IN/S2YVG9H&<OEVJE)O3KZ/UE/
M+F<OFP@EJ^"BB SFL</@ 0;UB$"R]RXPY.(1C\P)#F]=9&-,A.:WF.T$GJ<Q
M)D[A6 E8#J+MR3".T$$0@021)HAN$DFM9"',PDIV N8)P P*<A-L# 8; P2.
MI4U @F1ZN>8@P1R( %O;K\,D&E-KS#P.0T>B*>@F!=P0J^+IR U*PMCE9P'Z
M60!^(I@ A; >P^DE10Y)(R"*V-8T!$H<?D!=/R ,4,P=%+#<T!UZ0[#@$*0"
M2W%; XH'BROO4N<F0K!<$*076[@&-'3E\@)K"B5C+\1% :L*S>\H*ZP8!$EF
M5-;TOK+"HD& :@BR72U&KLC"J4X,BPN'P*E*'!2PN#":7EH,ZP9#NK%+:T##
MXPAC=VDQK"],@-)B!P6L+QS=D3"L&PSIQKX4#6B8L./DQ+!N,* ;^Y#/# BA
MX3Z:N1S!ZL+ I45<NPA6%T[O*"JL&CQ!-9D!W:0;SAS'/(%%0P#1$$?%""P:
M<H=H""P:,D$TF0$-#PGD$ QQ?/\!@K&/^,R )ASQ!-84@>XL>ZL:4/)1,L'@
M,[^B[5'W7-S;L7,MU&?P8+;OZQZP:A.L^0PMMUUW]I^F:Q:_Y>VQJ+GWPH1L
M0G2K<&!,4!EB.),E.,G^M!^4]"#4ZUR^MUV3U@T$:TP#&O1=\.8?4$L#!!0
M   ( *>.I%"% <[O!P(   $&   9    >&PO=V]R:W-H965T<R]S:&5E=#4Q
M+GAM;(U4VXZ;,!#]%<0'Q& NH1$@[29:M5(K15MU^^S $- :3&TG;/^^MF$1
M4'?5%WP[Y\P9#YYT8/Q5U #2>6MI)S*WEK(_("2*&EHB=JR'3IU4C+=$JB6_
M(M%S(*4AM11ASXM12YK.S5.S=^9YRFZ2-AV<N2-N;4OX[T>@;,A<WWW?>&ZN
MM=0;*$][<H7O('_T9ZY6:%8IFQ8ZT;#.X5!E[H-_."4:;P O#0QB,7=T)A?&
M7O7B2YFYGC8$% JI%8@:[G $2K60LO%KTG3GD)JXG+^K/YG<52X7(N#(Z,^F
ME'7F)JY30D5N5#ZSX3-,^42N,R7_%>Y %5P[43$*1H7Y.L5-2-9.*LI*2][&
ML>G,.(PG$9YH=@*>"'@F8/]#0C 1@ID0?$P()T*XB8#&5,S=G(@D><K9X/"Q
MNCW1/Y%_"-7M%WK37+8Y4]<CU.X]#X,H17<M-&$>1PQ>8>(UYFC#[->8DPV3
MS!BD?,YFL=4L-@+!0@#[D5T@L H$1B!<.?BTR63$1 ;3&8QG#Q%:0X1_APC_
M(1!9!:+_3S*V"L06!_ZFI",F7B3IQYNR'T>,CY>@R-MM*G^RPO "MK*\MUK>
M6RSCC64;)K '2:Q!$HM N EBPVR#H,7;TLWQ&^'7IA/.A4GU3,UCJAB3H/2\
MG:IFK?KQO*!023W=JSD?N]*XD*R?&BZ:NW[^!U!+ P04    " "GCJ10.FKF
M+#L"  #:!@  &0   'AL+W=O<FMS:&5E=',O<VAE970U,BYX;6R-5=N.FS 0
M_17$!ZRY&'(10=HDJEJIE:*MNGUVR"2@M3&UG;#]^]J&L(18V[R /9QS?&:P
MQUG+Q9LL 93WSF@M5WZI5+-$2!8E,"*?> .U_G+D@A&EI^*$9". '"R)410%
M08H8J6H_SVQL)_*,GQ6M:M@)3YX9(^+O&BAO5W[H7P,OU:E4)H#RK"$G^ GJ
M5[,3>H8&E4/%H)85KST!QY7_'"ZW86 (%O%:02M'8\^DLN?\S4R^'59^8!P!
MA4(9":)?%]@ I49)^_C3B_K#FH8X'E_5O]CD=3)[(F'#Z>_JH,J5/_>] QS)
MF:H7WGZ%/J'$]_KLO\,%J(8;)WJ-@E-IGUYQEHJS7D5;8>2]>U>U?;>]_I7F
M)D0](1H(>NW/"'%/B#\(^%,"[@EX0D!=*K8V6Z)(G@G>>J+[O0TQNRA<8EW]
MP@1ML>TW71ZIHY<<XR1#%R/48]8=)AIAP@&!M/JP1.1:8AW=T:/;!3;WB# (
M;C';>TPR=[N(G8G&EA^/782)6P [!; 5P#>52B>5ZC"IQ=1=(B$.\225>U2*
M<>SVDCB]) XO,[= ZA1('Z_&S"DP<SB83ZK189)1G@F.)YMK,[LO6;)(W5;F
M3BMSAY6%6V#A%%@\7@S=XIRG*'A@<_2@_^T.!\RQ/=#H@#,0)]L\I5?P<ZW,
M,1E%AP;]')D&,8FOP^6F:[,?,EW7_T'$J:JEM^=*MQ_;)(Z<*] F@R?]5TM]
MT0P3"D=EAC,]%EVW[2:*-_U-@H;K+/\'4$L#!!0    ( *>.I%!CY&WJ4 ,
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
M40C%M9/A3+MWUN-EORGX49EEJM=-.V.U&R7J;GX,^B%V_1]02P,$%     @
MIXZD4 JXEJ"+ @  A @  !D   !X;"]W;W)K<VAE971S+W-H965T-3DN>&UL
M?5;;CILP$/T5Q <LV-Q"1)"2H*J56BG:JMMG)W$2M("I[23;OZ]M" 4SV9=@
MFW/.7#R9(;LS_BXNE$KGHZX:L7(O4K9+SQ.'"ZV)>&$M;=2;$^,UD6K+SYYH
M.25'0ZHK#_M^[-6D;-P\,V<[GF?L*JNRH3ONB&M=$_YW0RMV7[G(?1R\EN>+
MU =>GK7D3']2^:O=<;7S!I5C6=-&E*QQ.#VMW#5:%BC0!(-X*^E=C-:.#F7/
MV+O>?#NN7%][1"MZD%J"J,>-;FE5:27EQY]>U!UL:N)X_5#_8H)7P>R)H%M6
M_2Z/\K)R%ZYSI"=RK>0KNW^E?4"1Z_31?Z<W6BFX]D39.+!*F%_G<!62U;V*
M<J4F']VS;,SSWNL_:# !]P0\$.+@4T+0$X*!@,)/"6%/""V"UX5B<E,02?*,
ML[O#N^MMB:XBM Q5]@_ZT"3;O%/I$>KTED<HR+R;%NHQFPZ#1Q@T(#RE/IC
MD(D-GM'QU,!VCD"^/\44<TRT@+T(P$ #PP\G@896H'/,$Q,A:"(T]&!B(H(%
M(E @ GR,+1\[3&PP39=-G"8+*Z-S%(K'%SMQ)@:=B8%H$E@@ 062631)9 63
MS-Q,TBBPRJ, 4*$?Q+ O"]"7!9!9*V<;")/"1E+02#HO'ZN*-^G\7I(X"JU+
M+CI8-($AC)\4$_+AO[8_#PC;#@&@D=-3,T\Z" +REMAFT+QLH]BWZ[: <&&$
MXR<-!X$=9XTP$/DS";A=(*!?8&Q'-0<%J=TRO%$KKBD_FS$GG .[-E(WM-'I
M,$K76+=RZWR#EMMN(/Z7Z>;S#\+/92.</9-J4)AV?F),4N6C_Z*JZ*(^"89-
M14]2+Q.UYMU<[#:2M?W,]X8/C_P?4$L#!!0    ( *>.I% KM Q2M@$  -8#
M   9    >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;'U3[6[;(!1]%8L'*#;$
M:139EM94U29M4M1IVV]B7\=6^?" Q-W;#S"QW,S:'\.]G',X!T,Q*OUF.@";
MO LN38DZ:X<]QJ;N0##SH :0;J556C#K2GW&9M# FD 2'),TW6+!>HFJ(O2.
MNBK4Q?)>PE$GYB($TW^>@*NQ1!FZ-5[[<V=] U?%P,[P'>R/X:A=A6>5IA<@
M3:]DHJ$MT:=L?Z >'P _>QC-8I[X)">EWGSQI2E1Z@T!A]IZ!>:&*QR <R_D
M;/R.FFC>TA.7\YOZ2\CNLIR8@8/BO_K&=B7:H:2!EEVX?57C9XAY<I3$\%_A
M"MS!O1.W1ZVX"=^DOABK1%1Q5@1[G\9>AG&,^C?:.H%$ ID)V>:_!!H)](Z
M)V<AZC.SK"JT&A,]_:R!^3N1[:D[S-HWP]F%-9?6N.ZUR@DM\-4+1<S3A"$+
M#/F(./R+R'<S!#L#LPNRZH($/OW@8K,N0%<%:!#8+ 0RFM_%F##;@)%3C'R;
M/N[NLJS -CG99G=V\.*$_8W_QO2YER8Y*>M^5CC25BD+3C)]<->H<X]L+CBT
MUD\?W5Q/5VTJK!KB*\+S4Z[^ E!+ P04    " "GCJ10<(JHZJ\"  !M"@
M&0   'AL+W=O<FMS:&5E=',O<VAE970V,2YX;6R55M%NVR 4_17+'U #!MNI
MDDAKVFF3-JG:M.V9)B2Q:AL/2-+]_0"[5FRNI^PE!G+N.?< %UA>I'K51R%,
M]%97C5[%1V/:^R31VZ.HN;Z3K6CL/WNI:FYL5QT2W2K!=SZHKA*"4);4O&SB
M]=*//:OU4IY,53;B647Z5-=<_7D0E;RL8AR_#WPK#T?C!I+ULN4'\5V8'^VS
MLKUD8-F5M6AT*9M(B?TJ_H#OG_#"!7C$SU)<]%4[<E9>I'QUG<^[58Q<1J(2
M6^,HN/V<Q494E6.R>?SN2>-!TP5>M]_9/WKSULP+UV(CJU_ESAQ7<1%'.['G
MI\I\DY=/HC?$XJAW_T6<167A+A.KL965]K_1]J2-K'L6FTK-W[IOV?COI>=_
M#X,#2!] A@!,_QF0]@'IK0&T#Z"W!K ^@$T"DLZ[G\Q';OAZJ>0E4MU^:+G;
M=OB>V>7:ND&_.OX_.Y_:CI[7C+!E<G9$/>:APY 1)AMC-B&&C!&/(0(C-,8\
M 4K% $FLD<$- =T0'Y^.,LUA@A0D2#T!'24Y,;+I,)G'-!Z3TY30=.(WA&49
M9G-^*)@.#=)AI)BD0P,=FA=X,K./(8H1FB$X&08FPX!D%C!!!A)DMZ].#A+D
M80;IQ.A#'AC%.4(S1@M0I@!D\&360PR]JHF1R (460 BTYT&85)8!".XO!%
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
M1,WYT .'A63=V-[1]!^3_P=02P,$%     @ IXZD4(T/RPXZ @  ^@<  !D
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
MM*[;"8@_^ W,NB*N^P2:T5]X=E&;][P@KB5Z!Y,'T;NZ3RN/Q!\+9Q)8O;D
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
MKMOV3H$G:PGQN-]690%_+[.@790NWE#=CT,?"]8/&\*6I"N0?G"C["?;\"<
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
M;3IJ\2>$(E!Y;&ZY 3,*A2?AFH).?(8J/".VHF, +$N&1H6VTN)C@&^XY[&
M1=HM6Q:'\(X3W;]9:YJ($37D,X..SLXD.4M<*VJ6]'5H+B ]A%H!H4N\MMG'
M%&E[S)Q;&C)5J@W$0!A,L47[0(HIZQ2B]<>+W8K</&@UL6@*>![$& [EH+]8
M&>AP-^Q8@1PW]X .'N3'A,HSXF=4[A[5*XE3F.R?K9HH"Y.!#..:%4-*Z28$
M*Z*)!S,V+<+#VX7<35N98A52M$<HE*/\0ER&31$AO<=6%#5CW)Y8J#JEOP/N
M#+!"V [DC$@MCDG9I)^9PWT9?RE,1E;+6;-HA5,,IOJ!S82I4F*-6(_$O!XG
M!.#SD4RFT%+%2G#EW-L @M@!!?-0T]@2&L%%D[\88"(0>I0SF1I?Y\9"/1;K
MCDE2VY9UKE6.[=U5F<F#%G)G:BM=N6+OU#H\^9?IUKAP2@K)GF^:..:/((XV
MKEIYW.A8 >FV.9],Y\\Z-S4E?1T=K-X .'N+HLD8N>!,01J1& 7.@J&*W'B(
MH8_6%-J-<WWF3:&BG,V8-UPC6"/&6#>1%NE@!0V;"5">W2F9'V4$=;OPB'!Z
M=^BB@R]U6C^M0M9^'&0;IVPLZ,&HRSOQO(G11^N3AO]60BASA>IGQ"RYZQ+Z
M4ZVH)Y6"ZNNG<F$S3=DF.F!1Y9K"==C,5^3I)#ECTT'>K@RGC'+L8Z+:+EDH
MMJ:8U'ZN\&U DZ3\+X5/; NB?O4H#4O2]9.6,[+;G.))*'Q$/WGO0+AP&AY,
M9O%@-I!/QDD\&MB/WV5D-B+? >T [(TYA5Z2B?=XEL3#^=#?47O6)]YA/S7-
MDT$\F]JI)4D\GXTZ=^E)-!S/X^&T+Y^,1O&L[\_+/5JMP*:K]"09"9Z-W8$9
M6OP G=5.6X'14PB:W $Q)!5A>\>/0W<!@>!3<9Z+CI&H&3*GPFOKMAP:$""4
ML=)FH@F+$($[(X.C_G4OSG-W%T6HPC2)QV/I?Y_,)G%_ED@C=DC<TJ_'\6!N
MH7D2#P/W1PXWB6>CJ7PR'\#EFG;#MCP";951 #[^= !?4[HF%[QD<CA?UW!\
M9A86(U)?MO,Y"&#69))V9]X!Q_/Y5'J>N]MV[0<4FK1(+0_-55X;07/%GD[:
M[V#)521;OOZ/2O%(]^QU69S"LU8*',PZ1I.K?_N8P&-/4Z>LLUL!B])_ZT6:
M[2<G _V+<X()/#Z-^_.Q-Y4$$'Y_/O.?SR=Q(NB.21_H-AQ-XNEPX'\/9&,Z
M3P+]PIT?V'YM7D'3HC^*^XG_Y6@8PV0# TWC1%"L5IK! #&=3GWZ-TA@Q+[?
M=7\03P6YY*R#AE[/?62#<Y].?822],?Q>&I7W3XJ8!BF_7C4G\%?HRE0[.$8
M_IK"@@<B.NFW^O=(8 6$\?F =30'X,--0"B<X;XDHW$\G!T!CW"6LU$ 3( 3
MFD\"\#\$]D8$)0;@,9G'H\D 2QY,1R.8R"0>"'YH+[PE?0"X@7^&"?0U" !<
M,FL%I+4!;C+N0PL@D# 9_'>:##JV$P!JCHS?'.\]<*<3^FLR07+K7W5-;M"O
M2),(]*OXO6'-SX]-7X@P  , -A; L@.N8NDD>=JQ]2XD(QZ<C0-'/?,Q'$@-
MR22 2H]%Q0E<D9$/XH#T9D-_!O,1M XA_D,(>@#X>>;?L%D_G@S]QZ,!@'2(
M/CP";2=#Z#H@&LT /?LC#D-48B\JAQL^"WPT'</40\@\'DP^ <<G4Z -="4!
ME<PH1#>9S^";60#;(X1=ZBR%GQZ:X3-IO_6_GTY.OL!MA1-/X! P,'B2T+\
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
MO>:<FL7>%'W(M&-OBK]CP(S:A3AZ__*<K2-<(S=R:N0^!/<IT(ER<-P+9;T
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
MG% I% 0;!%MEDV&M=J9NB,TF3FZ+OOMV@4H(*G7$0<" $@NMI=MB/JT\VVC
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
M'UQW<])4"O=V5FM2+"(G?*1H/8ZKPRGHG&EL3$@7J'L1H7O 8[A;\ *S"_U
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
M+]Z&1A< 3*' M\KI!0FEULM+VUXG-VD9@$#^HOW.*!255N_MX/=B 1$<8OJ
M96!:@=HFQ9PJ>=/*3S$"+"VS0  6G_;'0"3V)Z5X\(&KG>G"/.9\%^<IUENB
MDD@V2!S]-H1@-@?,/)"_DIFI;1BHV\+1\4VKXM4$L)3LH@_29!N-@V0U%+J,
M <AL ;S,YIG)2.Y,,AO&XW[BF<RJ;)4WT9E-]'6<<&-S@ZZR!9<Q67)7-O+,
M_5Y/YN41WVJS7?WE[7:/A%X?BJ\I!TTI\@^BHW ?2%F_]00/Q#YYEWTHUQ2O
MW=X,'U;QWV-<"C %":99PLIF)NJU*)M J='Y,![V0[HS$%2$.N(5D(!;9/';
MO8Q0B2;P:KO6+Q-\.FJ/+8"F\X :9 BB7E\D<GY?V*)]U!'FN52Y'4(UMT^F
MPP#S>3*=35UU$/;&[*X]&9Q5,IW+)^,$]L>2D9=977_3F<[F! 75H6"A3L9C
MX.SF]D'[!AS,CX-*?0"?T;SU!/JTVE6O#D9&V1[1#>V2 L0>X31I/ 1-@LF5
M[<VH3EII]XY.CG2,!Z4C@[;+2W[>Z?P&R&0O$FG-#L!DV78J\D,P]GCK,.6P
MB'I?J6''KTSP52-7K6TW/UQ"69$;UU&MW54'U$HP%(><"PA&U_;])RR*UD W
M7(^KBQ1]J7\#N=2ZFII#A\EC_GDJ[>*4&NT.TJ%,I_X!6>(4 !CSR$_1-@9$
M)F4KD#?GG>XZK]N%_"Y-!<%CL [GED"O=DHD8A@WS$W[08>;NC=\LTV+AS_7
M[7PV=>O\\^#Y4W1O6JWK1;IJ#TU$%+-X!*>PR&ZI'B7NY9A#2]P$I-U90MN
M^<;DVODMU+B?F-S/#:$*>00"RRR$K-?D.Q:L\M%9<=)C!WQ^97:4--](Q7HK
M.6J'!_V1(+90:+K^5)K&@2FM;HPZ51<Q",.G2:!<'PMV;8IGTRCP'+K792;T
MI6#R>UKG#PH%6"Y63% _]..%SM1D];_DZ"O8)0!*J7B<MWE4(ZKO\:'L8KM'
M&-XG[ VN7^JQ_;CND<]W*DVL5PW'C-RAG)"]FY7IR)MCIS,8S^+Y)+"L?7S$
M:!BP=3K.@[_TW[-0,-^G=N:!23*07(MV!?\L<-(?@;"3^!OZ6#AI.\T>/N&A
M[^HQ&([C^?2QAQM(R7G(#Q1#PT[]]/U'L00[54F=J*]78N6Q)_W:U&_@TN6'
M59A HK"F^W$JS,$PG@%KU-)<@A 9#R>CMJYR-B(K9EM).8_[8_\N#\G#TM/9
M'*Q2>)1S?;MR(54S+"L3"^A^^D?!0SN7/PH>_JL5/-P?6'"@WI]?_NN0$?V/
M>H)_U!/\HY[@\(]Z@LZ_?]03_*.>H%]/4-42.L((O*<XA/-5]'&S_H9*8/S[
MG[;*5/FGO_Y18.)+%)C8<X![BB2X7_U1GH*8N_^?EJ<X(C?Z45)<9P9IFWNL
M*P+[_]KL9.Z_?Z0 '/Z1 O"/%(!_I !T&_V1 O +I@#TC,FFHL2WNA#&R?.L
M2?.U3Q$!8'N&%>\@>U;]&\C([WG%*=.;QY3=%UF%#N<HNBWA2Y ?W#9C0!7]
MK]RGWW+)OAN -=(-*2VX7A'L">"#:XT/]B[P_=7SZ.3)4YT",&^RS9[VR=QI
M[ZU5.]0O@5O*BH:5K-W;UY1;FWZPN]D2T^JLTDJY></JF%MN?8[!QES,SV0D
M-$415;G3;"7V6K(\_QT%5ZZ^#GY3B[R'6 ,$IM)D1?=JWIFAGG2\JN%=> /A
MQ?6A_M^V)MG^'(3_GP.@E?B@-9J'GAXS08.M3(O_>D7<^?]V>P-<-/3'$*?=
MM<3.['T&\D\C!: '[L#WNZ)G]-6>JW5GAJ!0DB:OW1WEK(?1ET=^@4:7<A?@
MK5&&0"GCOYT\<GY6N&!V-Y.W;5_/,OM<*X&<2@)G$KWMZR3@!]3NF=W'WG3T
M/O Z?]DMRPIG1..!W7773M%X0W58J23 8JW*DM4NLGS%):*/PI7^8-J6MPT/
MUC4[49>5%$H=GT=HY:P)>5'A[>P#Y;GIB,$[,Q&?)@G#IER92D&^5PIJ.DAK
M9MJ3;XNG6;(=[PI*G/I!?M,>0]8;K@V2I5 ]%2E&[I9IL[P[W6TY8._Q9WBJ
MC*GB]JN/,'14'XK\^HWYFF-*:-W7F+7_%A=V11N=JO('5PT6/2)SX'^=?<SK
M__T-C7?:'YWZKN]ZMF8W&^JUH]EGF)^'5 >*[]Y/%ZH#P"H60-D^Q4GF.O[2
MHR2S$)-BS\_U37@\NG9SFOEC^6G+.O-Y[<U'YGYUB>6>4<=SLLKXKZ<:M>_)
M)A=8>RM4YM$;X&;O"D0'!1)T^;VHQ<@5[%$;!A"5Q!Y>%P^81761W>9%H2 V
M##!V>YZWTW@)C@RSR&A&@K+(J%)2(J_,)VRC-]R[\'Y2CHB($D+XL)@WX3=>
MQ@B/FER=!=Q<3P./25H,/@3"NF=RNDGW)'6+@Y/5#;MF!Z^Z)J\XP:[G!Y9@
M6^U9A6UT>"&V[9[)=B_'",V=+_8O2#;K7I%L=7!)LO&^&7<O2DKV^][M7YK3
MLGMU3L.#"W3:'UA ]S))VQ!\N']ANLF>RZY:'%R*;M@UN^[)'T@;<FKS0SP>
M$Q[L.Y"FY-&#>+D ?$<P93X]4^;3E_F-MX$ZNMM;@I.$@/C3 &$TJ0EDT'&
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
MFE%>AC!7JOC@.&6<8X;*"U%@KB.ID PIO9294Q82HZ0T28PZ4]?U'88(AU'
M*W;'5 EB47$50K]W 9M_*Q(<PJ>SM]\KH6[> 'N=O)M,W*?SF['_K F<0V U
M/B<A]/SWT/EST0M7OUY4;J(C^?F>\KO$1]+^ON0[P4?BER^(M_NU5)<Z2KS:
MCVH'TTCXV@@[;4=$02KXT!@S:!VZ,F(8K! -X2VB9"F)R4H1(W1MW5/CB 45
M$BC=D9K,,Y[RV88]NS+-VNHPPH5L:ML*]GW9;A\%NI4!))3V@%-H'5%0(*6P
MY'=ZT6QNG+^$0&LOUH4FS"1:>],Y'!*:BRZR%#+!LB_CP<X5!12G!D>2+#=7
M)0K'!)423!L)09G@J&'H,EI#R\:8TD?S3?Z6;FG7*;![S"UQ(3 4G:E/W9K#
M77,;Y$TUJ[TI.SM(%Q1D)=2G2A^'-VO3.OA!XI34S;I.>P"MCHJ"KC]2DG&&
M[6%^6] [L& 4H*X.R(4DSUK/M$JL'5A"L,)2D7C3\T.B8H%KU;53G1[*/#U!
MYM?^G#/,L41T$UKW_C%_RO^9>';Y]\C-K\H8^!49S?_R"4#.3P'2/W[(V?7Q
M,YJ9Z 0@KTX!\E_?;J<=,C8FF:TYIO>"946H(KS%S4F28,MC!LD0?C43+-V:
M)H9Q1LLKM-2/.UOZ.C?!*:JH>C!';((A'.PO!MSS^UV+7B*$@WV/$U(Q._,.
MSU313U!+ P04    " "GCJ10A[,/"$,%  !8*@  #P   'AL+W=O<FMB;V]K
M+GAM;,6:77/:.!1 _XJ&E\T^L("_VF9"9@B0AID$F)C)ZXZP!6AB2U2R2=I?
MOY(=6KF8._MRRQ-8ENUC2=:Y5_;-FU2O:RE?R7N>"3WL[(IB?]WKZ63'<JK_
MD7LFS)Z-5#DMS*;:]O1>,9KJ'6-%GO6\?C_JY92+SNW-\5Q+U7,W9,&2@DMA
M"FW!"V=O^M=^NTFHJ7!@*[H>=OH=0LM"WO.L8&I""_95R7+/Q7;8&73(ABM=
MQ/;:5<V<"Y[S'RRMMO1.OCU(Q7](4= L3I3,LNHHNZ,ZR%Q!_RQY8:K@2:-B
M0=?/U+ ..U'?G/# -5_SC!??AYWJ?\8ZYBYZSFU4[7#\K1OQ6OV?9I2;#4_8
M1"9ESD11MZ-BF;VZT#N^UQTB:,Z&G6,50D5*IJ(P-&0FZE.9NO9>S*5G:7U?
MA6FQ7[!$77.S0\W2@07'@QPOYO'B<389K:83<C=Z',W'4Q(_3*>KV 'T $#O
M8H#D:DD=2!^ ]/\@9+PR/T_3N0%<W)/9?+QP( , ,K@8Y'CQM'0@0P RO!AD
MO%J,'<@(@(PN"/FOYT!^ B _7:Z[1_&# _D9@/R,"SFG1:D8D1MR5VHNF-8.
MUQ> ZPLNUQW57%NLI6+:5#V9L?O0E-W'A7MFB=7**$ED:;0BMH92"O,_8?9(
M%Q,T"[):[BE7Y(5F)2-/C&K3S_8 MX,'D%<&R&)Y9@<F2N;B0 89("ODJY3I
M&\^R*EJ8F1$GMI: C+1FS4:#%#) =LC'F--D2;]3BV=I3:$J64H>N8L)262
M;1'%4FZ>$*5,,YX..T@= V1W3)CB!VJC9M/+NE#E"1WDC &R-.92)"8(MW&U
MG5?,.&1F FSR0;H8(/LB+F3RVC6SLQEN8YF;,^F3J1G2Q@#9&S/3?#DC*_K.
MW#;S(%UXR+J8\ -/F4AUG8A0)4S7FB>8*1+OJ'(Q(5UXR+JHNG8GLY0I_1>9
M?BM-ON2R@3D(LBL>C;^:'0JIPL/.-F2>\Z*:-ZHN'<LJ"F BX4U(R!0>LBF>
MV5ZJHG)$S+:_3W(>9 </V0YQN=;L6VECJ.FA&3!YD!H\9#6<"9C(U<HV8Z/Y
M($=XR([X")R.6'^[7) ;/&0WP!$4<3$A17C(B@!#J$;RZ$/6\)&MT1)"M?6X
M#RG#1U9&>RS5B@G9PT>VQ[F@Z@/4Q037L)"U<BZV:L&$Q.(CBP4,9YK/#R09
M'UDR=<C0.A8AQ_C(CFG1<BLC)!@?.PDY610B5Q-64)XU&2'9^,BR:5T@:L>$
M9.,CR^9L2%&#N@O3D&P"]!6M.J3HVL>X.H-(S !89WQK*[N8D&\"9-^ F(VI
M)X!\$_R9E2V#:3,#19."T#H&JKK=Q81\$R#[I@4SX[1Z;6?R&#=>"\"W)NB)
MS!%SPC7=;A7;U@^[>?@5.[B8D&\"9-^ T6]S;$+^"9#] V/Z+B:DH !907"0
MWL"$+!0@6Z@U2&]Q4  Y*$!V4!MDE\RIV;:AN_O>$7)0B+U,=B:9^&A.%Q-R
M4'B9G,?,3M4.%Q-R4'BQG*=J3Q<3<E!XJ9RG2YX-KHL).2A$=I"[K-SZ@(?@
M*WMD]< 9F3M9AI!Z0NPW+R!FX&)"Z@F1U=.V#M[>YY!Y0F3S?*2WW>JID:*:
M@TQ 5!63Z;N+";DG1';/3\S[LLHIG^QW9V7^P>E^\Q)![HFP%]N@%7W2=3$A
M]T3H^4_+XD'+R(P@\T3HV<\II)W-ZRC>%60$F2?"-L]O+R'.M"1DG:BR3J^J
MK&]O4K;A@J5S<WIMRA.:)4M%[$_]K440VE>CFS++QJ9L(1XEM>75.8X?==[^
M!U!+ P04    " "GCJ10M]#"#R@"  "E)@  &@   'AL+U]R96QS+W=O<FMB
M;V]K+GAM;"YR96QSQ=G-;MI %(;A6T&^@ QS?B9)%;+J)MNV-V#!@%' MCRN
MFMQ]739UI<1?%^AC@X6PSGDW/++&3]_RJ1Z/75N:8U]6;^=36S95,X[]EQ#*
MMLGGNMQU?6ZG7_;=<*['Z>MP"'V]?:T/.<AZG<(PGU$]/\UGKEYVFVIXV<5J
M]:,>#GG<5.'M%'YUPVMI<AY+N%SBW;1@NN6]S_^SOMOOC]O\M=O^/.=V_*#B
M[X(J?!PDRT%"#]+E(*4'V7*0T8-\.<CI06DY*-&#[I>#[NE!#\M!#_2@Q^6@
M1WI07 ,9U_PDA#5?ZPBXCGRO(P [\L6.@.S(-SL"M"-?[0C8CGRW(X [\N6.
M@.[(MSL"O"-?;P%Z"U]O 7K+#9ZUT<,V7V\!>@M?;P%Z"U]O 7H+7V\!>@M?
M;P%Z"U]O 7H+7V\!>@M?;P5Z*U]O!7HK7V\%>NL-SDK080E?;P5Z*U]O!7HK
M7V\%>BM?;P5Z*U]O!7HK7V\%>BM?;P-Z&U]O WH;7V\#>AM?;P-ZVPW.NM%A
M-U]O WH;7V\#>AM?;P-Z&U]O WH;7V\#>AM?;P=Z.U]O!WH[7V\'>CM?;P=Z
M.U]O!WK[#=Y5HI>5?+T=Z.U\O1WH[7R]'>CM?+T=Z.U\O1/0._'U3D#OQ-<[
M ;T37^\$]$Y\O1/0._'U3C.]2U,/>?=]'([MH5R[Y)_AG];,X"[C^RE?/^,R
M]=/],Z7':4L.E\^K_Y\N4_]$A'E%>?X-4$L#!!0    ( *>.I%#>GY_G\@$
M  8F   3    6T-O;G1E;G1?5'EP97-=+GAM;,W:RT[#,! %T%^ILD6-ZU=X
MB'8#; $)?L DTR9J$ENV"^7O<<)# A6IB%:ZFZ;).#,WJ756O7Q\=10FVZ[M
MPSRK8W07C(6RILZ$W#KJ4V5I?6=B.O4KYDRY-BMB8C8K6&G[2'V<QJ%'MKB\
MIJ79M'%R]7Y]:#W/C'-M4YK8V)X]]]6/IM./AKFG=EP3ZL:%D[0@F]QL4Y>0
MKLVS5 T9VV/"SQN'\W3?W3-YWU3TIVAVN6Q*JFRYZ=(M>7">3!5JHMBU>:B-
MI^HA^J9??>2]-S[>FBXU9MN6?5N0'R]'?&UI=X"Q<LC),6T+VC5J++Q_\G\-
M_-P-I?4T=3Y5?6QV/%Z*=)^J@0T+#_F(-&R=BJJ]AJ?6Q_MA7ZQ?C]]WO?"O
M8F#CX7]O_7 Y!$@."9)#@>30(#D*D!RG(#G.0'*<@^3@,Y0@**)R%%(YBJD<
M!56.HBI'896CN,I18.4HL@H4606*K )%5H$BJT"15:#(*E!D%2BR"A19!8JL
M$D56B2*K1)%5HL@J4625*+)*%%DEBJP215:)(JM"D56AR*I09%4HLBH4616*
MK I%5H4BJT*15:'(JE%DU2BR:A19-8JL&D56C2*K1I%5H\BJ4635*+(6*+(6
M*+(6*+(6*+(61Y1U/.:=:?K?DCQ9N_Z<S\:_?RW> %!+ 0(4 Q0    ( *>.
MI% ?(\\#P    !,"   +              "  0    !?<F5L<R\N<F5L<U!+
M 0(4 Q0    ( *>.I% GZ(<.@@   +$    0              "  >D   !D
M;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ IXZD4%]V-%3O    *P(  !$
M             ( !F0$  &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @
MIXZD4)E<G",0!@  G"<  !,              ( !MP(  'AL+W1H96UE+W1H
M96UE,2YX;6Q02P$"% ,4    " "GCJ10P^8D[C,#   Z#P  &
M    @ 'X"   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @
MIXZD4(]V?61I!   ,!4  !@              ( !80P  'AL+W=O<FMS:&5E
M=',O<VAE970R+GAM;%!+ 0(4 Q0    ( *>.I%!HPB,Y^ $  (D%   8
M          "  0 1  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4
M    " "GCJ10UWFUE),#   Z#P  &               @ $N$P  >&PO=V]R
M:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%     @ IXZD4, Q:;Q$ @  TP8
M !@              ( !]Q8  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+
M 0(4 Q0    ( *>.I%!KC?6/4P0  &X4   8              "  7$9  !X
M;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4    " "GCJ10 54C2!$"
M  "U!@  &               @ 'Z'0  >&PO=V]R:W-H965T<R]S:&5E=#<N
M>&UL4$L! A0#%     @ IXZD4-M7"#(.!0  )1D  !@              ( !
M02   'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( *>.I%!2
M @F[LP$  -(#   8              "  84E  !X;"]W;W)K<VAE971S+W-H
M965T.2YX;6Q02P$"% ,4    " "GCJ108=)!4;0!  #2 P  &0
M    @ %N)P  >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    (
M *>.I% 0FC#.M $  -(#   9              "  5DI  !X;"]W;W)K<VAE
M971S+W-H965T,3$N>&UL4$L! A0#%     @ IXZD4%3I'Y.T 0  T@,  !D
M             ( !1"L  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"
M% ,4    " "GCJ10RFZMJ+(!  #1 P  &0              @ $O+0  >&PO
M=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( *>.I%#AB?Y0M0$
M -(#   9              "  1@O  !X;"]W;W)K<VAE971S+W-H965T,30N
M>&UL4$L! A0#%     @ IXZD4$?VZ>6R 0  T@,  !D              ( !
M!#$  'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " "GCJ10
M=1CLB+,!  #2 P  &0              @ 'M,@  >&PO=V]R:W-H965T<R]S
M:&5E=#$V+GAM;%!+ 0(4 Q0    ( *>.I%  V1&NM $  -(#   9
M      "  =<T  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%
M  @ IXZD4%R,T*FT 0  T@,  !D              ( !PC8  'AL+W=O<FMS
M:&5E=',O<VAE970Q."YX;6Q02P$"% ,4    " "GCJ10V/J*B+4!  #2 P
M&0              @ &M.   >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+
M 0(4 Q0    ( *>.I%"^TH_KL@$  -(#   9              "  9DZ  !X
M;"]W;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%     @ IXZD4,XLE2.T
M 0  T@,  !D              ( !@CP  'AL+W=O<FMS:&5E=',O<VAE970R
M,2YX;6Q02P$"% ,4    " "GCJ10'2+6Q;0!  #2 P  &0
M@ %M/@  >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( *>.
MI%!Z9.43LP$  -$#   9              "  5A   !X;"]W;W)K<VAE971S
M+W-H965T,C,N>&UL4$L! A0#%     @ IXZD4':$=["T 0  T@,  !D
M         ( !0D(  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4
M    " "GCJ10?"F&.K(!  #2 P  &0              @ $M1   >&PO=V]R
M:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    ( *>.I%!C\G4YM@$  -(#
M   9              "  19&  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL
M4$L! A0#%     @ IXZD4)X&A(*T 0  T@,  !D              ( ! T@
M 'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " "GCJ10WM>!
M:M(!  "<!   &0              @ 'N20  >&PO=V]R:W-H965T<R]S:&5E
M=#(X+GAM;%!+ 0(4 Q0    ( *>.I%"7\X:?T $  )P$   9
M  "  ?=+  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @
MIXZD4(]ML"BV 0  T@,  !D              ( !_DT  'AL+W=O<FMS:&5E
M=',O<VAE970S,"YX;6Q02P$"% ,4    " "GCJ10W-_Q:;@!  #2 P  &0
M            @ 'K3P  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4
M Q0    ( *>.I%!@^6.FP $  #<$   9              "  =I1  !X;"]W
M;W)K<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @ IXZD4#@.M@+" 0
M-P0  !D              ( !T5,  'AL+W=O<FMS:&5E=',O<VAE970S,RYX
M;6Q02P$"% ,4    " "GCJ105F/ETK8!  #2 P  &0              @ '*
M50  >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( *>.I%#I
M^@NRQ $  #<$   9              "  ;=7  !X;"]W;W)K<VAE971S+W-H
M965T,S4N>&UL4$L! A0#%     @ IXZD4*GH0YC& 0  -P0  !D
M     ( !LED  'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4
M" "GCJ10C%TY4;<!  #2 P  &0              @ &O6P  >&PO=V]R:W-H
M965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    ( *>.I% (M(7LW0$  +D$   9
M              "  9U=  !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L!
M A0#%     @ IXZD4.HK.,5O @  A@@  !D              ( !L5\  'AL
M+W=O<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    " "GCJ10AD-TGX,"
M  #""   &0              @ %78@  >&PO=V]R:W-H965T<R]S:&5E=#0P
M+GAM;%!+ 0(4 Q0    ( *>.I% 6PJ'P^P$  ",%   9              "
M 1%E  !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ IXZD
M4-X.\&O% 0  -P0  !D              ( !0V<  'AL+W=O<FMS:&5E=',O
M<VAE970T,BYX;6Q02P$"% ,4    " "GCJ107 _? SL"  !@!@  &0
M        @ $_:0  >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0
M   ( *>.I%"->X#],P(  #@&   9              "  ;%K  !X;"]W;W)K
M<VAE971S+W-H965T-#0N>&UL4$L! A0#%     @ IXZD4*ZT!"7D!@  LBH
M !D              ( !&VX  'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q0
M2P$"% ,4    " "GCJ10G^F 8G@"  "J"0  &0              @ $V=0
M>&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( *>.I%#\:5VN
M3P0   ,5   9              "  >5W  !X;"]W;W)K<VAE971S+W-H965T
M-#<N>&UL4$L! A0#%     @ IXZD4/V;\&%2 @  90<  !D
M ( !:WP  'AL+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4    " "G
MCJ10- ET_H\"  !2"0  &0              @ 'T?@  >&PO=V]R:W-H965T
M<R]S:&5E=#0Y+GAM;%!+ 0(4 Q0    ( *>.I% 7\NB%1P,  !$/   9
M          "  ;J!  !X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#
M%     @ IXZD4(4!SN\' @   08  !D              ( !.(4  'AL+W=O
M<FMS:&5E=',O<VAE970U,2YX;6Q02P$"% ,4    " "GCJ10.FKF+#L"  #:
M!@  &0              @ %VAP  >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM
M;%!+ 0(4 Q0    ( *>.I%!CY&WJ4 ,  ',-   9              "  >B)
M  !X;"]W;W)K<VAE971S+W-H965T-3,N>&UL4$L! A0#%     @ IXZD4.<A
MU1H1 P  [0P  !D              ( !;XT  'AL+W=O<FMS:&5E=',O<VAE
M970U-"YX;6Q02P$"% ,4    " "GCJ10[T&K: X"  #W!0  &0
M    @ &WD   >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    (
M *>.I%"J6.'VQP(   T+   9              "  ?R2  !X;"]W;W)K<VAE
M971S+W-H965T-38N>&UL4$L! A0#%     @ IXZD4,3]?7KG 0  ^@0  !D
M             ( !^I4  'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"
M% ,4    " "GCJ10ED%BX=X"  #0"@  &0              @ $8F   >&PO
M=V]R:W-H965T<R]S:&5E=#4X+GAM;%!+ 0(4 Q0    ( *>.I% *N):@BP(
M (0(   9              "  2V;  !X;"]W;W)K<VAE971S+W-H965T-3DN
M>&UL4$L! A0#%     @ IXZD4"NT#%*V 0  U@,  !D              ( !
M[YT  'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6Q02P$"% ,4    " "GCJ10
M<(JHZJ\"  !M"@  &0              @ '<GP  >&PO=V]R:W-H965T<R]S
M:&5E=#8Q+GAM;%!+ 0(4 Q0    ( *>.I% KV>DV!P0  #H4   9
M      "  <*B  !X;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#%
M  @ IXZD4+YV!Y(A @  ;P8  !D              ( ! *<  'AL+W=O<FMS
M:&5E=',O<VAE970V,RYX;6Q02P$"% ,4    " "GCJ10C0_+#CH"  #Z!P
M&0              @ %8J0  >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+
M 0(4 Q0    ( *>.I%"9<])2,5H  %&& 0 4              "  <FK  !X
M;"]S:&%R9613=')I;F=S+GAM;%!+ 0(4 Q0    ( *>.I%#<(4)A9P(  & -
M   -              "  2P& 0!X;"]S='EL97,N>&UL4$L! A0#%     @
MIXZD4(>S#PA#!0  6"H   \              ( !O@@! 'AL+W=O<FMB;V]K
M+GAM;%!+ 0(4 Q0    ( *>.I%"WT,(/* (  *4F   :              "
M 2X. 0!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( *>.
MI%#>GY_G\@$   8F   3              "  8X0 0!;0V]N=&5N=%]4>7!E
<<UTN>&UL4$L%!@    !) $D \1,  +$2 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6644094416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Federal statutory income tax rate (as a percent)</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate on income before provision for income taxes including income attributable to noncontrolling interests (as a percent)</a></td>
<td class="nump">29.00%<span></span>
</td>
<td class="nump">21.30%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest', window );">Effective tax rate on income before provision for income taxes and noncontrolling interests (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum', window );">Minimum period of statute of limitations of state and foreign jurisdictions</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum', window );">Maximum period of statute of limitations of state and foreign jurisdictions</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents a ratio calculated by dividing the reported amount of income tax expense attributable to continuing operations for the period by GAAP-basis pretax income from continuing operations after adjusting for minority interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the maximum period of statute of limitations of state and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum period of statute of limitations of state and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6801189632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Sep. 13, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>USD ($) </div>
<div>instrument</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems', window );"><strong>Derivative Instruments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_NumberOfInstrumentsUsedForTrading', window );">Number of Instruments used for trading | instrument</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest rate swap</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems', window );"><strong>Derivative Instruments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilityNotionalAmount', window );">Notional Amount | $</a></td>
<td class="nump">$ 165.0<span></span>
</td>
<td class="nump">$ 150.6<span></span>
</td>
<td class="nump">$ 152.6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged', window );">Notional amount interest rate</a></td>
<td class="nump">75.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan', window );">Notional amount adjustment</a></td>
<td class="nump">75.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of principal payment on term loan, which is adjusted down each quarter to arrive at the notional amount of the swap.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of debt outstanding in which the interest rate was effectively exchanged</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_NumberOfInstrumentsUsedForTrading">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of instruments used for trading.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_NumberOfInstrumentsUsedForTrading</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilityNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payments on the derivative liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5579245-113959<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5580258-113959<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5579245-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilityNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6800810272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>USD ($) </div>
<div>customer </div>
<div>item</div>
</th>
<th class="th">
<div>Mar. 31, 2019 </div>
<div>USD ($) </div>
<div>customer</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer concentration</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ConcentrationRiskNumberOfTopCustomers', window );">Number of top customers</a></td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue', window );">Number of calendar years in which top customers typically generate minimum specified percentage of revenue | item</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers', window );">Minimum percentage of revenues generated by top ten customers</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue | $</a></td>
<td class="nump">$ 743,243<span></span>
</td>
<td class="nump">$ 661,558<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenues | Customer concentration | Top ten customers</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer concentration</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ConcentrationRiskNumberOfTopCustomers', window );">Number of top customers</a></td>
<td class="nump">10<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of concentration risk</a></td>
<td class="nump">50.10%<span></span>
</td>
<td class="nump">49.10%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenues | Customer concentration | Pipeline Customer [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Customer concentration</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of concentration risk</a></td>
<td class="nump">11.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ConcentrationRiskNumberOfCustomers', window );">Number of customers</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum percentage of revenue typically generated by specified number of customers in any one calendar year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of calendar years in which top customers typically generate minimum specified percentage of revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ConcentrationRiskNumberOfCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of customers who typically contribute accounts receivable in excess of a specified percentage.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ConcentrationRiskNumberOfCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ConcentrationRiskNumberOfTopCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ConcentrationRiskNumberOfTopCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=118260190&amp;loc=d3e13531-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118260190&amp;loc=d3e13537-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=prim_TopTenCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=prim_TopTenCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=prim_PipelineCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=prim_PipelineCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6801815072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Credit Arrangements (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Credit Arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">Schedule of long-term debt and credit facilities</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Long-term debt and credit facilities consists of the following (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri';font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Term loan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 200,750</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 203,500</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Commercial equipment notes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,309</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,114</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Mortgage notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total debt</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 343,913</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 352,088</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (734)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (787)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total debt, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 343,179</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 351,301</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: current portion </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (52,430)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (55,659)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Long-term debt, net of current portion </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 290,749</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 295,642</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28541-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21506-112644<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(e),(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28551-108399<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21521-112644<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21538-112644<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=75038535&amp;loc=d3e64711-112823<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6781813232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Dividends and Earnings Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_DividendsAndEarningsPerShareAbstract', window );"><strong>Dividends and Earnings Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsDeclaredTableTextBlock', window );">Schedule of cash dividends paid or declared</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We paid cash dividends during 2020 and 2019 as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Declaration&#160;Date</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Record&#160;Date</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Paid</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount&#160;Per&#160;Share</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">November 2, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 15, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">February 26, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">March 29, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">April 15, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">May 3, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">June 28, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 15, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">August 2, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">September 30, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">October 15, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">October 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 15, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">February 21, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">March 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:24.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">April 15, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.060</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of computation of basic and diluted earnings per share</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The table below presents the computation of basic and diluted (loss) earnings per share for the three months ended March 31, 2020 and 2019 (in thousands, except per share amounts).</p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:87.76%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net (loss) income attributable to Primoris</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,737)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,947</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Denominator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average shares for computation of basic earnings per share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,588</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,770</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of shares issued to independent directors (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of restricted stock units (1)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 410</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average shares for computation of diluted (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">(Loss) earnings per share attributable to Primoris:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.08)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.08)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:27pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:22.5pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">The dilutive effect of shares issued to independent directors and restricted stock units of 9 and 300, respectively, for the three months ended March 31, 2020, were excluded from the weighted average diluted shares outstanding for the three months ended March 31, 2020, as their inclusion would be anti-dilutive.</span></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_DividendsAndEarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_DividendsAndEarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsDeclaredTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information related to dividends declared, including paid and unpaid dividends.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsDeclaredTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6781875392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Credit Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Credit Arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Credit Arrangements</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 8&#8212;Credit Arrangements</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Long-term debt and credit facilities consists of the following (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-family:'Calibri';font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Term loan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 200,750</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 203,500</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Commercial equipment notes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,309</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,114</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Mortgage notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total debt</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 343,913</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 352,088</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (734)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (787)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total debt, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 343,179</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 351,301</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: current portion </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (52,430)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (55,659)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Long-term debt, net of current portion </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 290,749</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 295,642</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The weighted average interest rate on total debt outstanding at March 31, 2020 and December 31, 2019 was 3.9% and 4.0%, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Credit Agreement</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:39pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our amended and restated credit agreement (&#8220;Credit Agreement&#8221;) consists of a $220.0 million term loan and a $200.0 million revolving credit facility (&#8220;Revolving Credit Facility&#8221;), whereby the lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $200.0 million committed amount. The Credit Agreement also includes the ability to increase the borrowing capacity thereunder by $75.0 million, subject to obtaining additional or increased lender commitments. The maturity date of the Credit Agreement is July 9, 2023. At March 31, 2020, there were no outstanding borrowings under the Revolving Credit Facility, commercial letters of credit outstanding were $39.5 million, and available borrowing capacity was $160.5 million.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Credit Agreement contains various restrictive and financial covenants including, among others, a senior debt/EBITDA ratio and debt service coverage requirements. In addition, the Credit Agreement includes restrictions on investments, change of control provisions and provisions in the event we dispose of more than 20% of our total assets. We were in compliance with the covenants for the Credit Agreement at March 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Canadian Credit Facilities</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have a demand credit facility for $4.0 million in Canadian dollars with a Canadian bank for purposes of issuing commercial letters of credit in Canada.&#160;At March 31, 2020, commercial letters of credit outstanding were $0.6 million in Canadian dollars, and the available borrowing capacity was $3.4 million in Canadian dollars.&#160;The credit facility contains a working capital restrictive covenant for OnQuest Canada, ULC, our wholly owned subsidiary.&#160;At March 31, 2020, OnQuest Canada, ULC was in compliance with the covenant.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have a credit facility for $10.0 million in Canadian dollars with CIBC Bank for working capital purposes in the normal course of business (&#8220;Working Capital Credit Facility&#8221;). At March 31, 2020, there were no outstanding borrowings under the Working Capital Credit Facility, and available borrowing capacity was $10.0 million in Canadian dollars. The Working Capital Credit Facility contains a cross default restrictive covenant where a default under our Credit Agreement will represent a default in the Working Capital Credit Facility.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI http://asc.fasb.org/topic&amp;trid=2208564<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6645371072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Measurements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;4&#8212;Fair Value Measurements</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">ASC Topic 820, &#8220;<i style="font-style:italic;">Fair Value Measurements and Disclosures</i><span style="white-space:pre-wrap;">&#8221;, defines fair value, establishes a framework for measuring fair value in GAAP and requires certain disclosures about fair value measurements.  ASC Topic 820 addresses fair value GAAP for financial assets and financial liabilities that are re-measured and reported at fair value at each reporting period and for non-financial assets and liabilities that are re-measured and reported at fair value on a non-recurring basis.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In general, fair values determined by Level&#160;1 inputs use quoted prices (unadjusted) in active markets for identical assets or liabilities. Fair values determined by Level&#160;2 inputs use data points that are observable such as quoted prices, interest rates and yield curves. Fair values determined by Level&#160;3 inputs are &#8220;unobservable data points&#8221; for the asset or liability and include situations where there is little, if any, market activity for the asset or liability.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value at March 31, 2020 and December 31, 2019 (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;Measurements&#160;at&#160;Reporting&#160;Date</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted&#160;Prices</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in&#160;Active&#160;Markets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">for&#160;Identical&#160;Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level&#160;1)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level&#160;2)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level&#160;3)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of March&#160;31,&#160;2020:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 938</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities as of March&#160;31,&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">2020:  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,414</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of December&#160;31,&#160;2019:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,286</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 938</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities as of December&#160;31,&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">2019:  </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">Other financial instruments not listed in the table consist of accounts receivable, accounts payable and certain accrued liabilities.  These financial instruments generally approximate fair value based on their short-term nature.  The carrying value of our long-term debt approximates fair value based on comparison with current prevailing market rates for loans of similar risks and maturities.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In the second quarter of 2019, we sold certain assets that included an earnout of $2.0 million, contingent upon the buyer meeting a certain performance target.  The estimated fair value of the contingent consideration on the sale date was approximately $0.9 million. We measured the fair value of the contingent consideration using the income approach, which discounts the future cash payments expected upon meeting the performance target to present value.  The fair value of the contingent consideration was impacted by two unobservable inputs, management&#8217;s estimate of the probability of meeting the performance target and the estimated discount rate (a rate that approximates our cost of capital). Significant changes in either of those inputs in isolation would result in a different fair value measurement.  During the first quarter of 2020, there was no change to the fair value of the contingent consideration.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The interest rate swap is measured at fair value using the income approach, which discounts the future net cash settlements expected under the derivative contracts to a present value. These valuations primarily utilize indirectly observable inputs, including contractual terms, interest rates and yield curves observable at commonly quoted intervals. See Note 9 &#8211; &#8220;<i style="font-style:italic;">Derivative Instruments</i>&#8221; for additional information.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6778360720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation - Restricted Stock Units (Details) - Equity Plan - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">77 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Sep. 30, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock-based compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_AccruedDividendEquivalentUnits', window );">Accrued dividend equivalent units</a></td>
<td class="nump">2,401<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=prim_EquityIncentivePlan2013Member', window );">Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock-based compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Units granted</a></td>
<td class="nump">607,361<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber', window );">Number of vested units</a></td>
<td class="nump">260,630<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of unvested units</a></td>
<td class="nump">346,731<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Compensation expense recognized</a></td>
<td class="nump">$ 500<span></span>
</td>
<td class="nump">$ 500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Unrecognized compensation expense</a></td>
<td class="nump">$ 5,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Period to recognize unrecognized compensation expense</a></td>
<td class="text">2 years 4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_AccruedDividendEquivalentUnits', window );">Accrued dividend equivalent units</a></td>
<td class="nump">2,401<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=prim_EquityIncentivePlan2013Member', window );">Restricted Stock Units | 2020 (remaining nine months)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock-based compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares', window );">Number of Units to Vest</a></td>
<td class="nump">23,896<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=prim_EquityIncentivePlan2013Member', window );">Restricted Stock Units | 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock-based compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares', window );">Number of Units to Vest</a></td>
<td class="nump">179,364<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=prim_EquityIncentivePlan2013Member', window );">Restricted Stock Units | 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock-based compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares', window );">Number of Units to Vest</a></td>
<td class="nump">84,415<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=prim_EquityIncentivePlan2013Member', window );">Restricted Stock Units | 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock-based compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares', window );">Number of Units to Vest</a></td>
<td class="nump">59,056<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember', window );">Executives | Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock-based compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Units granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">607,361<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_AccruedDividendEquivalentUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of units accrued under dividend equivalents.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_AccruedDividendEquivalentUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that are scheduled to vest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of vested equity instruments other than options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=prim_EquityIncentivePlan2013Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=prim_EquityIncentivePlan2013Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VestingAxis=prim_ShareBasedCompensationAwardTrancheFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VestingAxis=prim_ShareBasedCompensationAwardTrancheFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_ExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6801726224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Credit Arrangements - Narrative (Details)<br> $ in Thousands, $ in Millions</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>CAD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtWeightedAverageInterestRate', window );">Weighted average interest rate (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.90%<span></span>
</td>
<td class="nump">3.90%<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember', window );">Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_PotentialIncreasePerAccordionFeature', window );">Potential increase per the agreement</a></td>
<td class="nump">$ 75,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Available borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 160,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember', window );">Credit Agreement | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff', window );">Restrictions on investments, change of control provisions and provisions as a percentage of total assets to be disposed off</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember', window );">Credit Agreement | Revolving Credit Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Borrowings outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember', window );">Credit Agreement | Commercial letters of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LettersOfCreditOutstandingAmount', window );">Letters of credit outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_LoansPayableMember', window );">Term Loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 220,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=prim_CreditFacilityWithCanadianBankMember', window );">Canadian Credit Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Available borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=prim_CreditFacilityWithCanadianBankMember', window );">Canadian Credit Facility | Commercial letters of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LettersOfCreditOutstandingAmount', window );">Letters of credit outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=prim_CanadianCreditFacilityCibcMember', window );">Working Capital Credit Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Borrowings outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Available borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the restrictions on investments, change of control provisions and provisions, expressed as a percentage of total assets to be disposed off as per the financial covenant.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_PotentialIncreasePerAccordionFeature">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount that the debt instrument can increase per the accordian feature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_PotentialIncreasePerAccordionFeature</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtWeightedAverageInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average interest rate of debt outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtWeightedAverageInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LettersOfCreditOutstandingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LettersOfCreditOutstandingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LetterOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_LetterOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_LoansPayableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_LoansPayableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=prim_CreditFacilityWithCanadianBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=prim_CreditFacilityWithCanadianBankMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=prim_CanadianCreditFacilityCibcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=prim_CanadianCreditFacilityCibcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6803685248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Feb. 29, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAbstract', window );"><strong>Share repurchase plan</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Aggregate purchase price up to which shares can be acquired under share repurchase program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25.0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Number of shares purchased under share repurchase program</a></td>
<td class="nump">461,831<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Amount paid for shares purchased under share repurchase program</a></td>
<td class="nump">$ 7.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Amount paid for shares purchased and cancelled under share repurchase program (per share)</a></td>
<td class="nump">$ 16.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=prim_LongTermRetentionPlanMember', window );">LTR Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract', window );"><strong>Common Stock</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Shares of common stock issued under the long-term incentive plan</a></td>
<td class="nump">34,524<span></span>
</td>
<td class="nump">114,106<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Amount received in exchange for shares of common stock under a long term incentive plan</a></td>
<td class="nump">$ 0.6<span></span>
</td>
<td class="nump">$ 1.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants', window );">Percentage of average market closing prices used in determining number of common stock that could be purchased by participants</a></td>
<td class="nump">75.00%<span></span>
</td>
<td class="nump">75.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=prim_EquityIncentivePlan2013Member', window );">Equity Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract', window );"><strong>Common Stock</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Shares of common stock issued as a part of quarterly compensation of non-employee members of the Board of Directors</a></td>
<td class="nump">16,744<span></span>
</td>
<td class="nump">13,278<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_AccruedDividendEquivalentUnits', window );">Accrued dividend equivalent units</a></td>
<td class="nump">2,401<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=prim_EquityIncentivePlan2013Member', window );">Equity Plan | Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract', window );"><strong>Common Stock</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted, Units</a></td>
<td class="nump">607,361<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_AccruedDividendEquivalentUnits', window );">Accrued dividend equivalent units</a></td>
<td class="nump">2,401<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_AccruedDividendEquivalentUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of units accrued under dividend equivalents.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_AccruedDividendEquivalentUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents percentage of average market closing prices used in determining number of common stock that could be purchased by participants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased and retired during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total cost of shares repurchased divided by the total number of shares repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockAcquiredAverageCostPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=prim_LongTermRetentionPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=prim_LongTermRetentionPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=prim_EquityIncentivePlan2013Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=prim_EquityIncentivePlan2013Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6790348000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF INCOME - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF INCOME</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 743,243<span></span>
</td>
<td class="nump">$ 661,558<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue</a></td>
<td class="nump">695,433<span></span>
</td>
<td class="nump">609,098<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">47,810<span></span>
</td>
<td class="nump">52,460<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">44,388<span></span>
</td>
<td class="nump">42,931<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">3,422<span></span>
</td>
<td class="nump">9,529<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expense):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign exchange (loss) gain</a></td>
<td class="nump">136<span></span>
</td>
<td class="num">(185)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expense), net</a></td>
<td class="nump">12<span></span>
</td>
<td class="num">(370)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNet', window );">Interest income</a></td>
<td class="nump">281<span></span>
</td>
<td class="nump">349<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(9,112)<span></span>
</td>
<td class="num">(5,592)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">(Loss) income before provision for income taxes</a></td>
<td class="num">(5,261)<span></span>
</td>
<td class="nump">3,731<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">1,527<span></span>
</td>
<td class="num">(795)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net (loss) income</a></td>
<td class="num">(3,734)<span></span>
</td>
<td class="nump">2,936<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Less net income attributable to noncontrolling interests</a></td>
<td class="num">(3)<span></span>
</td>
<td class="num">(989)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income attributable to Primoris</a></td>
<td class="num">$ (3,737)<span></span>
</td>
<td class="nump">$ 1,947<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Dividends per common share (in dollars per share)</a></td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>(Loss) earnings per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="num">(0.08)<span></span>
</td>
<td class="nump">0.04<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="num">$ (0.08)<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average common shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">48,588<span></span>
</td>
<td class="nump">50,770<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">48,588<span></span>
</td>
<td class="nump">51,188<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450222&amp;loc=d3e30840-110895<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109240200&amp;loc=d3e30700-110894<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109240200&amp;loc=d3e30690-110894<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68072869&amp;loc=d3e41242-110953<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109238882&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(a),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3000-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=68048583&amp;loc=d3e3636-108311<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6789825120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net (loss) income</a></td>
<td class="num">$ (3,734)<span></span>
</td>
<td class="nump">$ 2,936<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net (loss) income to net cash used in operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">19,797<span></span>
</td>
<td class="nump">21,700<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">499<span></span>
</td>
<td class="nump">487<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of property and equipment</a></td>
<td class="num">(2,311)<span></span>
</td>
<td class="num">(2,217)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrealizedGainLossOnDerivatives', window );">Unrealized loss on interest rate swap</a></td>
<td class="nump">4,970<span></span>
</td>
<td class="nump">1,447<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNoncashExpense', window );">Other non-cash items</a></td>
<td class="nump">1,821<span></span>
</td>
<td class="nump">80<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInReceivables', window );">Accounts receivable</a></td>
<td class="num">(13,911)<span></span>
</td>
<td class="num">(24,722)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset', window );">Contract assets</a></td>
<td class="num">(15,682)<span></span>
</td>
<td class="num">(2,328)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherCurrentAssets', window );">Other current assets</a></td>
<td class="num">(4,849)<span></span>
</td>
<td class="num">(2,231)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other long-term assets</a></td>
<td class="nump">204<span></span>
</td>
<td class="nump">182<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">23,934<span></span>
</td>
<td class="num">(59,198)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Contract liabilities</a></td>
<td class="num">(15,389)<span></span>
</td>
<td class="nump">2,590<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities', window );">Operating lease assets and liabilities, net</a></td>
<td class="nump">119<span></span>
</td>
<td class="num">(1,447)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(179)<span></span>
</td>
<td class="num">(9,663)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities', window );">Other long-term liabilities</a></td>
<td class="num">(756)<span></span>
</td>
<td class="nump">288<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash used in operating activities</a></td>
<td class="num">(5,467)<span></span>
</td>
<td class="num">(72,096)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of property and equipment</a></td>
<td class="num">(9,311)<span></span>
</td>
<td class="num">(14,377)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sale of property and equipment</a></td>
<td class="nump">6,902<span></span>
</td>
<td class="nump">4,398<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(2,409)<span></span>
</td>
<td class="num">(9,979)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Borrowings under revolving line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">40,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfLinesOfCredit', window );">Payments on revolving line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(40,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt', window );">Proceeds from issuance of long-term debt</a></td>
<td class="nump">6,800<span></span>
</td>
<td class="nump">23,105<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermDebt', window );">Repayment of long-term debt</a></td>
<td class="num">(14,976)<span></span>
</td>
<td class="num">(17,170)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock purchased under a long-term incentive plan</a></td>
<td class="nump">578<span></span>
</td>
<td class="nump">1,804<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="num">(7,393)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsCommonStock', window );">Dividends paid</a></td>
<td class="num">(2,919)<span></span>
</td>
<td class="num">(3,043)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromPaymentsForOtherFinancingActivities', window );">Other</a></td>
<td class="num">(1,285)<span></span>
</td>
<td class="num">(26)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) provided by financing activities</a></td>
<td class="num">(19,195)<span></span>
</td>
<td class="nump">4,670<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="nump">259<span></span>
</td>
<td class="nump">327<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net change in cash and cash equivalents</a></td>
<td class="num">(26,812)<span></span>
</td>
<td class="num">(77,078)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at beginning of the year</a></td>
<td class="nump">120,286<span></span>
</td>
<td class="nump">151,063<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at end of the year</a></td>
<td class="nump">93,474<span></span>
</td>
<td class="nump">73,985<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Cash paid for interest</a></td>
<td class="nump">4,061<span></span>
</td>
<td class="nump">4,065<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Cash paid for income taxes, net of refunds received</a></td>
<td class="num">(369)<span></span>
</td>
<td class="num">(707)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Leased assets obtained in exchange for new operating leases</a></td>
<td class="nump">34,711<span></span>
</td>
<td class="nump">8,847<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsPayableCurrentAndNoncurrent', window );">Dividends declared and not yet paid</a></td>
<td class="nump">$ 2,895<span></span>
</td>
<td class="nump">$ 3,051<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating lease assets and liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherCurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherCurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the total amount due within one year (or one operating cycle) from all parties, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense or loss included in net income that result in no cash flow, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromPaymentsForOtherFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24072-122690<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromPaymentsForOtherFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3000-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrealizedGainLossOnDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net change in the difference between the fair value and the carrying value, or in the comparative fair values, of derivative instruments, including options, swaps, futures, and forward contracts, held at each balance sheet date, that was included in earnings for the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrealizedGainLossOnDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6803116096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Reportable Segments (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Mar. 31, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reportable segments | segment</a></td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 743,243<span></span>
</td>
<td class="nump">$ 661,558<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_RevenuePercentage', window );">% of Total Revenue</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit</a></td>
<td class="nump">$ 47,810<span></span>
</td>
<td class="nump">$ 52,460<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_GrossProfitAsPercentageOfSegmentRevenue', window );">% of Revenue</a></td>
<td class="nump">6.40%<span></span>
</td>
<td class="nump">7.90%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember', window );">Power</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 196,193<span></span>
</td>
<td class="nump">$ 145,383<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_RevenuePercentage', window );">% of Total Revenue</a></td>
<td class="nump">26.40%<span></span>
</td>
<td class="nump">22.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit</a></td>
<td class="nump">$ 18,682<span></span>
</td>
<td class="nump">$ 20,198<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_GrossProfitAsPercentageOfSegmentRevenue', window );">% of Revenue</a></td>
<td class="nump">9.50%<span></span>
</td>
<td class="nump">13.90%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember', window );">Pipeline</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 191,523<span></span>
</td>
<td class="nump">$ 134,814<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_RevenuePercentage', window );">% of Total Revenue</a></td>
<td class="nump">25.80%<span></span>
</td>
<td class="nump">20.40%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit</a></td>
<td class="nump">$ 16,492<span></span>
</td>
<td class="nump">$ 15,016<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_GrossProfitAsPercentageOfSegmentRevenue', window );">% of Revenue</a></td>
<td class="nump">8.60%<span></span>
</td>
<td class="nump">11.10%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember', window );">Utilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 147,170<span></span>
</td>
<td class="nump">$ 146,206<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_RevenuePercentage', window );">% of Total Revenue</a></td>
<td class="nump">19.80%<span></span>
</td>
<td class="nump">22.10%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit</a></td>
<td class="nump">$ 4,602<span></span>
</td>
<td class="nump">$ 8,241<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_GrossProfitAsPercentageOfSegmentRevenue', window );">% of Revenue</a></td>
<td class="nump">3.10%<span></span>
</td>
<td class="nump">5.60%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember', window );">Transmission</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 102,784<span></span>
</td>
<td class="nump">$ 118,443<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_RevenuePercentage', window );">% of Total Revenue</a></td>
<td class="nump">13.80%<span></span>
</td>
<td class="nump">17.90%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit</a></td>
<td class="nump">$ 1,712<span></span>
</td>
<td class="nump">$ 6,628<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_GrossProfitAsPercentageOfSegmentRevenue', window );">% of Revenue</a></td>
<td class="nump">1.70%<span></span>
</td>
<td class="nump">5.60%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember', window );">Civil</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 105,573<span></span>
</td>
<td class="nump">$ 116,712<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_RevenuePercentage', window );">% of Total Revenue</a></td>
<td class="nump">14.20%<span></span>
</td>
<td class="nump">17.60%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit</a></td>
<td class="nump">$ 6,322<span></span>
</td>
<td class="nump">$ 2,377<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_GrossProfitAsPercentageOfSegmentRevenue', window );">% of Revenue</a></td>
<td class="nump">6.00%<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_GrossProfitAsPercentageOfSegmentRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the gross profit represented as a percentage of total segment revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_GrossProfitAsPercentageOfSegmentRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_RevenuePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of revenue to total revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_RevenuePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6801051920">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Credit Arrangements (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Total debt</a></td>
<td class="nump">$ 343,913<span></span>
</td>
<td class="nump">$ 352,088<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnamortizedDebtIssuanceExpense', window );">Unamortized debt issuance costs</a></td>
<td class="num">(734)<span></span>
</td>
<td class="num">(787)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total debt, net</a></td>
<td class="nump">343,179<span></span>
</td>
<td class="nump">351,301<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Less: current portion</a></td>
<td class="num">(52,430)<span></span>
</td>
<td class="num">(55,659)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt, net of current portion</a></td>
<td class="nump">290,749<span></span>
</td>
<td class="nump">295,642<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LoansPayableMember', window );">Term Loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total debt, net</a></td>
<td class="nump">200,750<span></span>
</td>
<td class="nump">203,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member', window );">Commercial equipment notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Total debt</a></td>
<td class="nump">93,309<span></span>
</td>
<td class="nump">105,114<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_MortgagesMember', window );">Mortgages</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Credit arrangements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total debt, net</a></td>
<td class="nump">$ 49,854<span></span>
</td>
<td class="nump">$ 43,474<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109500613&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109500613&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnamortizedDebtIssuanceExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnamortizedDebtIssuanceExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LoansPayableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_LoansPayableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_MortgagesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_MortgagesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6800892672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Performance obligations (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2020 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 2,080.0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod', window );">Revenue recognized from performance obligations satisfied in previous periods</a></td>
<td class="nump">3.6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ContractWithCustomerLiabilityModificationOfContract', window );">Amount of contract modifications included in the expected contract value.</a></td>
<td class="nump">94.4<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract', window );">Amount of unapproved contract modifications recognized as revenue on a cumulative catch-up basis</a></td>
<td class="nump">$ 80.6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ContractWithCustomerLiabilityModificationOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of contract modifications included in the expected contract value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ContractWithCustomerLiabilityModificationOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from contract modification which increases (decreases) right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12A<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL108322424-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6803697440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Disaggregation of revenue by customer type and contract type (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 743,243<span></span>
</td>
<td class="nump">$ 661,558<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerBasisOfPricingAxis=us-gaap_FixedPriceContractMember', window );">Fixed price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">217,779<span></span>
</td>
<td class="nump">146,285<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerBasisOfPricingAxis=prim_UnitPriceContractsMember', window );">Unit price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">326,886<span></span>
</td>
<td class="nump">259,200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerBasisOfPricingAxis=prim_CostReimbursableContractsMember', window );">Cost reimbursable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">198,578<span></span>
</td>
<td class="nump">256,073<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=prim_MasterServiceAgreementCustomersMember', window );">MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">270,408<span></span>
</td>
<td class="nump">292,879<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=prim_NonMasterServiceAgreementCustomersMember', window );">Non-MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">472,835<span></span>
</td>
<td class="nump">368,679<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember', window );">Power</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">196,193<span></span>
</td>
<td class="nump">145,383<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember', window );">Power | Fixed price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">144,850<span></span>
</td>
<td class="nump">75,143<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember', window );">Power | Unit price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">181<span></span>
</td>
<td class="nump">6,613<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember', window );">Power | Cost reimbursable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">51,162<span></span>
</td>
<td class="nump">63,627<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember', window );">Power | MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">37,095<span></span>
</td>
<td class="nump">49,195<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember', window );">Power | Non-MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">159,098<span></span>
</td>
<td class="nump">96,188<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember', window );">Pipeline</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">191,523<span></span>
</td>
<td class="nump">134,814<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember', window );">Pipeline | Fixed price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">15,345<span></span>
</td>
<td class="nump">17,227<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember', window );">Pipeline | Unit price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">81,830<span></span>
</td>
<td class="nump">374<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember', window );">Pipeline | Cost reimbursable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">94,348<span></span>
</td>
<td class="nump">117,213<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember', window );">Pipeline | MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">46,732<span></span>
</td>
<td class="nump">21,849<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember', window );">Pipeline | Non-MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">144,791<span></span>
</td>
<td class="nump">112,965<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember', window );">Utilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">147,170<span></span>
</td>
<td class="nump">146,206<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember', window );">Utilities | Fixed price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">24,089<span></span>
</td>
<td class="nump">22,767<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember', window );">Utilities | Unit price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">80,639<span></span>
</td>
<td class="nump">67,878<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember', window );">Utilities | Cost reimbursable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">42,442<span></span>
</td>
<td class="nump">55,561<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember', window );">Utilities | MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">104,011<span></span>
</td>
<td class="nump">119,462<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember', window );">Utilities | Non-MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">43,159<span></span>
</td>
<td class="nump">26,744<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember', window );">Transmission</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">102,784<span></span>
</td>
<td class="nump">118,443<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember', window );">Transmission | Fixed price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">13,636<span></span>
</td>
<td class="nump">8,463<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember', window );">Transmission | Unit price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">88,789<span></span>
</td>
<td class="nump">105,841<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember', window );">Transmission | Cost reimbursable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">359<span></span>
</td>
<td class="nump">4,139<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember', window );">Transmission | MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">81,774<span></span>
</td>
<td class="nump">101,723<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember', window );">Transmission | Non-MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">21,010<span></span>
</td>
<td class="nump">16,720<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember', window );">Civil</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">105,573<span></span>
</td>
<td class="nump">116,712<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember', window );">Civil | Fixed price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">19,859<span></span>
</td>
<td class="nump">22,685<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember', window );">Civil | Unit price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">75,447<span></span>
</td>
<td class="nump">78,494<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember', window );">Civil | Cost reimbursable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">10,267<span></span>
</td>
<td class="nump">15,533<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember', window );">Civil | MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">796<span></span>
</td>
<td class="nump">650<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember', window );">Civil | Non-MSA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 104,777<span></span>
</td>
<td class="nump">$ 116,062<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerBasisOfPricingAxis=us-gaap_FixedPriceContractMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerBasisOfPricingAxis=us-gaap_FixedPriceContractMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerBasisOfPricingAxis=prim_UnitPriceContractsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerBasisOfPricingAxis=prim_UnitPriceContractsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerBasisOfPricingAxis=prim_CostReimbursableContractsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerBasisOfPricingAxis=prim_CostReimbursableContractsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=prim_MasterServiceAgreementCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=prim_MasterServiceAgreementCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=prim_NonMasterServiceAgreementCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=prim_NonMasterServiceAgreementCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6646139776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies.</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 16&#8212;Commitments and Contingencies</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">NTTA settlement &#8212;</span> On February 7, 2012, we were sued in an action entitled North Texas Tollway Authority (&#8220;NTTA&#8221;), Plaintiff v. James Construction Group, LLC, and KBR, Inc., Defendants, v. Reinforced Earth Company, Third-Party Defendant (the &#8220;Lawsuit&#8221;). On February 25, 2015, the Lawsuit was settled, and we recorded a liability for $17.0 million. A second defendant agreed to provide up to $5.4 million to pay for the total expected remediation cost of approximately $22.4 million. We will pay a third-party contractor approved by the NTTA to complete the remediation. In the event that the total remediation costs exceed the $22.4 million, the second defendant would pay 20% of the excess amount and we would pay for 80% of the excess amount. During the three months ended March 31, 2020, we increased our estimate of the total expected remediation costs by $0.5 million. We also spent $2.5 million for remediation during the three months ended March 31, 2020. While we continue to monitor the progress toward remediation and the total remediation costs, at this time we cannot determine the total eventual remediation cost. At March 31, 2020, the remaining accrual balance was $6.5 million. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Legal proceedings &#8212; </span>We had been engaged in dispute resolution to collect money we believe we were owed for a construction project completed in 2014. The dispute resolution for the receivable initially required international arbitration; however, in the first half of 2016, the owner sought bankruptcy protection in U.S. bankruptcy court. We initiated litigation against the sureties who had provided lien and stop payment release bonds for the amount owed. During 2018, we settled with the sureties. In addition, we believe we are owed amounts from the bankruptcy trustee. We expect that we will collect a portion of the amount owed to us but cannot predict the timing of such collection.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are subject to other claims and legal proceedings arising out of our business. We provide for costs related to contingencies when a loss from such claims is probable and the amount is reasonably estimable. In determining whether it is possible to provide an estimate of loss, or range of possible loss, we review and evaluate our litigation and regulatory matters on a quarterly basis in light of potentially relevant factual and legal developments. If we determine an unfavorable outcome is not probable or probable but not reasonably estimable, we do not accrue for a potential litigation loss.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;"> Management is unable to ascertain the ultimate outcome of other claims and legal proceedings; however, after review and consultation with counsel and taking into consideration relevant insurance coverage and related deductibles/self-insurance retention, management believes that it has meritorious defenses to such claims and believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a material adverse effect on our consolidated results of operations, financial condition or cash flow.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Bonding &#8212;</span> At March 31, 2020 and December 31, 2019, the Company had bid and completion bonds issued and outstanding totaling approximately $829.0 million and $648.6 million, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6663391056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 12&#8212;Income Taxes</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates, and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">which can cause variability in the effective tax rate from quarter to quarter.  We recognize interest and penalties related to uncertain tax positions, if any, as an income tax expense.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We do not include the income tax expense or benefit related to the net earnings or loss attributable to noncontrolling interest in our income tax expense as the entities are considered pass-through entities and, as such, the income tax expense or benefit is attributable to its owners. The effective tax rate on income including noncontrolling interests for the three months ended March 31, 2020 and 2019 was 29.0% and 21.3%, respectively. Excluding noncontrolling interest, the effective tax rate on (loss) income attributable to Primoris for the three months ended March 31, 2020 and 2019 was 29.0%. For the first three months of 2020 and 2019, our tax rate differs from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and nondeductible components of per diem expenses. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our U.S. federal income tax returns are generally no longer subject to examination for tax years before 2016. The statutes of limitation of state and foreign jurisdictions generally vary between 3 to 5 years. Accordingly, our state and foreign income tax returns are generally no longer subject to examination for tax years before 2014.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities based on enacted tax rates expected to be in effect when such amounts are realized or settled. However, deferred tax assets are recognized only to the extent that it is more likely than not that they will be realized based upon consideration of available evidence, including future reversals of existing taxable temporary differences, future projected taxable income, the length of the tax asset carryforward periods, and tax planning strategies. The effects of remeasurement of deferred tax assets and liabilities resulting from changes in tax rates are recognized in income in the period of enactment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (CARES Act) was enacted by the US Government in response to the COVID-19 pandemic. Similarly, the Canada Emergency Wage Subsidy legislation was enacted on April 11, 2020 to provide employment retention incentives to certain Canadian employers. These relief measures did not materially affect the Consolidated Financial Statements for the first quarter of 2020. We are currently assessing the future implications&#160;of these provisions on our Consolidated Financial Statements.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6651211056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ContractWithCustomerAssetTableTextBlock', window );">Schedule of contract assets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets consist of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unbilled revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 268,282</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 251,429</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Retention receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract materials (not yet installed)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,872</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,984</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 359,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 344,806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ContractWithCustomerLiabilityTableTextBlock', window );">Schedule of contract liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities consist of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,553</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 186,081</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued loss provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,294</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,316</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 176,847</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 192,397</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Schedule of revenue disaggregation by various categories</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Master Service Agreements (&#8220;MSA&#8221;) and Non-MSA revenue was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:47.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,095</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 159,098</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196,193</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 144,791</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,011</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,159</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,170</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,774</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 102,784</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 796</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,777</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,573</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 270,408</p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 472,835</p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 743,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:47.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,195</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,188</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,383</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,849</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112,965</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,462</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,744</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,206</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 650</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,062</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,712</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:46.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 292,879</p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 368,679</p></td><td style="vertical-align:top;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 661,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by contract type was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 144,850</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 181</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,162</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196,193</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,345</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,830</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,089</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,639</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,442</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,170</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,636</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88,789</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 359</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 102,784</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,859</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,447</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,267</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,573</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 217,779</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 326,886</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 198,578</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 743,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:36.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,143</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,613</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,627</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,383</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,767</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,878</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,561</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,206</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,463</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,841</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,685</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,494</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,533</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,712</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:36.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,285</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 259,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256,073</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 661,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ContractWithCustomerAssetTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of contract assets balances and changes in contract assets balances.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ContractWithCustomerAssetTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ContractWithCustomerLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of contract liabilities balances and changes in contract liabilities balances.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ContractWithCustomerLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.20.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>202</ContextCount>
  <ElementCount>335</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>59</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>9</UnitCount>
  <MyReports>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00090 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00100 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00400 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00405 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquityParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>10101 - Disclosure - Nature of Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureNatureOfBusiness</Role>
      <ShortName>Nature of Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>10201 - Disclosure - Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureBasisOfPresentation</Role>
      <ShortName>Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>10301 - Disclosure - Recent Accounting Pronouncements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureRecentAccountingPronouncements</Role>
      <ShortName>Recent Accounting Pronouncements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>10401 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureFairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>10501 - Disclosure - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureRevenue</Role>
      <ShortName>Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>10601 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>10701 - Disclosure - Accounts Payable and Accrued Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities</Role>
      <ShortName>Accounts Payable and Accrued Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>10801 - Disclosure - Credit Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureCreditArrangements</Role>
      <ShortName>Credit Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>10901 - Disclosure - Derivative Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureDerivativeInstruments</Role>
      <ShortName>Derivative Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>11001 - Disclosure - Noncontrolling Interests</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureNoncontrollingInterests</Role>
      <ShortName>Noncontrolling Interests</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>11101 - Disclosure - Stock-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureStockBasedCompensation</Role>
      <ShortName>Stock-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>11201 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureIncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>11301 - Disclosure - Dividends and Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare</Role>
      <ShortName>Dividends and Earnings Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>11401 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureStockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>11501 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureLeases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>11601 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>11701 - Disclosure - Reportable Segments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureReportableSegments</Role>
      <ShortName>Reportable Segments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>11801 - Disclosure - Subsequent Event</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureSubsequentEvent</Role>
      <ShortName>Subsequent Event</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>30403 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureFairValueMeasurements</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>30503 - Disclosure - Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureRevenueTables</Role>
      <ShortName>Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureRevenue</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>30603 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>30703 - Disclosure - Accounts Payable and Accrued Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables</Role>
      <ShortName>Accounts Payable and Accrued Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>30803 - Disclosure - Credit Arrangements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables</Role>
      <ShortName>Credit Arrangements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureCreditArrangements</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>30903 - Disclosure - Derivative Instruments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables</Role>
      <ShortName>Derivative Instruments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureDerivativeInstruments</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>31003 - Disclosure - Noncontrolling Interests (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsTables</Role>
      <ShortName>Noncontrolling Interests (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureNoncontrollingInterests</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>31103 - Disclosure - Stock-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureStockBasedCompensationTables</Role>
      <ShortName>Stock-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureStockBasedCompensation</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>31303 - Disclosure - Dividends and Earnings Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables</Role>
      <ShortName>Dividends and Earnings Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>31503 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureLeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureLeases</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>31703 - Disclosure - Reportable Segments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables</Role>
      <ShortName>Reportable Segments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureReportableSegments</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>40101 - Disclosure - Nature of Business (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails</Role>
      <ShortName>Nature of Business (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureNatureOfBusiness</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>40201 - Disclosure - Basis of Presentation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails</Role>
      <ShortName>Basis of Presentation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureBasisOfPresentation</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>40401 - Disclosure - Fair Value Measurements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails</Role>
      <ShortName>Fair Value Measurements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>40501 - Disclosure - Revenue - Performance obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails</Role>
      <ShortName>Revenue - Performance obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>40502 - Disclosure - Revenue - Performance obligations - 2020 (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details</Role>
      <ShortName>Revenue - Performance obligations - 2020 (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>40503 - Disclosure - Revenue - Contract assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails</Role>
      <ShortName>Revenue - Contract assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>40504 - Disclosure - Revenue - Contract liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails</Role>
      <ShortName>Revenue - Contract liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>40505 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails</Role>
      <ShortName>Revenue - Disaggregation of revenue by customer type and contract type (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>40601 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>40602 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>40701 - Disclosure - Accounts Payable and Accrued Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails</Role>
      <ShortName>Accounts Payable and Accrued Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>40801 - Disclosure - Credit Arrangements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails</Role>
      <ShortName>Credit Arrangements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>40802 - Disclosure - Credit Arrangements - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails</Role>
      <ShortName>Credit Arrangements - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>40901 - Disclosure - Derivative Instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails</Role>
      <ShortName>Derivative Instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>40902 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails</Role>
      <ShortName>Derivative Instruments - Derivative contract and instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>41001 - Disclosure - Noncontrolling Interests (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails</Role>
      <ShortName>Noncontrolling Interests (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>41101 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails</Role>
      <ShortName>Stock-Based Compensation - Restricted Stock Units (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>41201 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureIncomeTaxes</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>41301 - Disclosure - Dividends and Earnings Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails</Role>
      <ShortName>Dividends and Earnings Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>41302 - Disclosure - Dividends and Earnings Per Share - Anti-dilutive shares (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails</Role>
      <ShortName>Dividends and Earnings Per Share - Anti-dilutive shares (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>41401 - Disclosure - Stockholders' Equity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails</Role>
      <ShortName>Stockholders' Equity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureStockholdersEquity</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>41501 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails</Role>
      <ShortName>Leases - Components of Lease Expense and Operating Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>41502 - Disclosure - Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails</Role>
      <ShortName>Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>41601 - Disclosure - Commitments and Contingencies - Legal (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails</Role>
      <ShortName>Commitments and Contingencies - Legal (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>41701 - Disclosure - Reportable Segments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails</Role>
      <ShortName>Reportable Segments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>41702 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails</Role>
      <ShortName>Reportable Segments - Revenue and Total Assets by Geographic Area (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="prim-20200504x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>41801 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.primoriscorp.com/role/DisclosureSubsequentEvent</ParentRole>
      <Position>64</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" original="prim-20200504x10q.htm">prim-20200504x10q.htm</File>
    <File>prim-20200331xex31d1.htm</File>
    <File>prim-20200331xex31d2.htm</File>
    <File>prim-20200331xex32d1.htm</File>
    <File>prim-20200331xex32d2.htm</File>
    <File>prim-20200504.xsd</File>
    <File>prim-20200504_cal.xml</File>
    <File>prim-20200504_def.xml</File>
    <File>prim-20200504_lab.xml</File>
    <File>prim-20200504_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/us-gaap/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/srt/2019-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6638048976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Noncontrolling Interests<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestAbstract', window );"><strong>Noncontrolling Interests</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterestDisclosureTextBlock', window );">Noncontrolling Interests</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 10 &#8212; Noncontrolling Interests</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We own a 50% interest in the Carlsbad joint venture which operates in the Power segment. The joint venture has been determined to be a VIE and we were determined to be the primary beneficiary as a result of our significant influence over the joint venture operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">The joint venture is a partnership, and consequently, only the tax effect of our share of the income was recognized by us.  The net assets of the joint venture are restricted for use by the specific project and are not available for our general operations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Carlsbad joint venture&#8217;s operating activities began in 2015 and are included in our Condensed Consolidated Statements of Operations as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri';font-size:14pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to noncontrolling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 989</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Carlsbad joint venture made no distributions to the partners and we made no capital contributions to the Carlsbad joint venture during the three months ended March 31, 2020 and 2019. The project was substantially complete as of December 31, 2018 and the warranty period expires in December 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the total balance sheet amounts for the Carlsbad joint venture, which is included in our Condensed Consolidated Balance Sheets, and the total consolidated balance sheet amounts (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.89%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Joint&#160;Venture</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Consolidated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">At March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,026</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,474</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 416,412</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 359,370</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Due from Primoris</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 258,962</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 176,847</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">At December&#160;31,&#160;2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,124</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,286</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 404,911</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 344,806</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 425</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 192,397</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:1pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;"/><p style="clear:both;font-family:'Times New Roman';font-size:1pt;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI http://asc.fasb.org/topic&amp;trid=2197479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>50
<FILENAME>0001558370-20-005056-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001558370-20-005056-xbrl.zip
M4$L#!!0    ( *>.I%""R@[Q)0D  +E,   8    <')I;2TR,#(P,#,S,7AE
M>#,Q9#$N:'1M[9QK;]LV%\=?MT"_ Q\7&Q+ %\EVVD9V Z2IBP5HFBQQ@>W5
M0$N41802-5*RXWWZYQQ2\J6V4Z=)NS13BR22>#NDR)__YU!6_W^-QF_#LX\D
MD'X>LR0COF(T8P&9\BPB0YFF-"%G3"DN!'FG>#!FA!PV7S6=INN^:C2.7CSO
M0QTG12F9>.2@U6VUG;9#.MZ!ZSD.N3BS^:(L%O#W63]B-,"#9_V,9X*9PV>I
MXO%?@YN.^Y=KDEKSM'ZK+- ?R6!VU _XA.AL)MC;6DS5F"<-P<+,ZS:[KOOZ
M5?>U<_#F3;MS\$NO2%5\'&U*KAWU6U#70U9H3$]7*_.<-.ME["9K4,''B6=*
M]P1/6"-BIB;7<7[IA3+)&B&-N9AY0QXS33ZQ*;F4,4WJYKRNF>*AS:?Y/\PC
M+M9L&WW6Q^MEPP'7J: SCR?8C"TRM6V-I B@S. FXB.>_9J,=-KKN$VWW\)<
MM@.M='M'?J3=M2-KWZZV+0VR#Y.9J7][E"\_?QP0MT,;;G>/[K?<@\ >V6Z=
M#"Z'IQ].3XZ'I^>?R,7GRZO/QY^&9'C^T_;W:G""?2EFE=,FYQ_(\+<!N3J^
M?'?\:7#5./_CX^!/<GPRA!2;J^TX[:<P]WZL;:=U,HR@*DT&37+FGT@5<_^Z
M3GRF,A[.2!;1S'N<IF\?UB4,3WF01<88@'1&1X*MI_1JT%TA4AH$/!F_K3GV
M7*?4+\ZAJ(*?8+5L^[4Q=3$42Y<7/;+]0=O@HR@PM4S,4GM;RV1:(\4Q?E#4
M5BLB[F'361Z.>4,/-M!+-Z]H9'70'_;FFB:A(>(VEV[;XKZ5X[,R"F\V#C)>
M71S=.MHK [P\]#]P5&^;R;X44GDO'?,/ER2)Z(01Q2:<34$+91'7Y/><*N"R
MF)%+EDJ5@4(B'V"QVD7@.HW?22@5Y&4D!9MD0%@20.$SJOR(=-PZ02E5)S:_
M#,D%R"2IH.8KIB;<A[[!VH>::<9E4JZJQ3BV< &TS (JQ$Y%@8H"]Z- NZ+
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
M?$W\YPN!R2!#S L;>Q?QJ-G?"ZZ9;?]JB\I+:-\BVWZ)T1X/MVA[E5\.YHM
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
MBY+>R2?]KK_S[),']@F.U'\*G0<PSS4)Z=:<=(A9-7::XU%P 3UW#KPO9*[
MJY*<I; 9V!_$%TG.IDIB73 )2ZH8-LE,R\=LJT[5N7I@_<'P<D^)ZQ%K^.SA
MI^UAQV5(,=.H16)OU__EG=,S)IX\)K9.%$.?E^CT*^[?OHO_<6"Z]_JEU6,^
M@WRCUVK-#0"*N-\*6P>P8K6O'WD,YU<-%?56[B:^\3N5NUP\+@WXY1CW\D5M
MQOLU9DFFU)LH2LX\DJ&N,3F7S+S(6=WA2C-5MUG#A%.B8NS"\J:!CE!+UYS%
M0;UWW&WNPYK!EU>M#79''?LNURAIWPO_ U!+ P04    " "GCJ100B/7VYL2
M  #0S@  $0   '!R:6TM,C R,# U,#0N>'-D[5W==R(WLG_?<^[_H.N731XP
MX(^9L4\F>P#CA"PV7,-,LD][1+< [302D;IM\]]O2?U!0W>K/V!F3&X_9&):
MI9*J?OHHE4K23_]X73GHF0A).?MXUCYOG2'"+&Y3MOAXYLD&EA:E9__X^7_^
M]M/_-AI_=)^&R.:6MR+,198@V"4V>J'N$DWY>HT9>B!"4,=!74'M!4'HYOS=
M^?NK5OO\\L/-U25J- ).72PA)V=(L[PX;T<IO8 K9[?HNGG5O&A=M-#-[77[
M]N(]&C]$= ]0R3G-(WR5]JVTEF2%$79=06>>2^ZY6-V1.?8<%V1D?WK8T9Q
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
M,Y^XSC*%3-\J+T[^=B,1"ND@ZA;%]9"=Y81T$82"1JZ%U$>#0L_,E*Y\DO3
MVLI,3F2GRM0&PE?,_<!;/_AK;\0Y(/_W\>\<S?]5;*R-=%%II$[)?>INPP<L
M75BM$O%,+=)9"*+3,PX8%B4^5=/PD;-2^BA!?ZHJ4;ML.J(Z[ ][*C"DGZK(
M:D/@B=#5S!-2"9 A>3[9Z2K ,/0]<)O.J7^,/8A%CGG#JF4]\:G'*'1XFB&P
M7\K,UYE9_X+Z MN$>\R58[Q1HMUYZI"?-PM?">([QV^JY3YQK7UR_86 P$RN
MJ%3&FW+94>F?BZ3[)S9*T)_J0#7F.K82.Z'Y-O:;@K"!_SW1\8F1&[<8[:G;
M<V%LG@KDF[S@=622Q(^(J(,GL;W$X,AX%'O^:NF3)O;6.#XJS]-8B85;5[$]
M+G6F[)X+Z%'QPZM%"$_E-&#'_H^G]Y6Y8HB=SDH-JW&8P=9CZG"<$X87C9B*
M<AYRS**(_@.9G$;[&!(IR=XMC#D.GG)93LC!DUP][PJ9=N8E>^5=*.^IC]/1
M$S"N"C.F=A!HK:6]QU3L!#\6)3[M$)TQ71.',A(:=7O;L%FIIVJ\A)<8[9ZL
M[=&9M1^.GDMW"BKPKW3TKT'[^;]02P,$%     @ IXZD4,MZPY$!$   J^X
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
MGF!)=B1+/WJR?ZJ)?4  *T6)CIN)U^]RU2SG0"6W8=NL?_=6,7G!OB&464/
M<83?8N$#C[)AK$0<E&XWZ2![#1.POZ#W@9I3 E/U@LA+=IX(5^VCH< ^>"OR
M\?0SUC2D!K[W21[#V!6.QN@9(>:\?_-#Y^Y OE+6"?R<8P+7MN*K/(MO,D6S
M3^.[50M)$TU\E?_AA7LOR2LV@3/Q+=]+5HCT'6A?M^RK-;/8;I,56BC\ T_U
M>=@P1',$#5;]GI^3"/%B3H$#&9 +=*C;=FBF%PV]P<0%B\^Q;L%J%</,Y2[:
MHG]GFP,NFNWH'."_2Y)U5=I*EUSQ4&#W647FA:BJP%787-+EHV8ZQSQ52[F^
M!^O0DR;X%>U0(W@&D'<JQ"-:PBH'&#Z=WX+19>V_2"8,S 5(%F]LR<*!T"4]
M!U)&)1:6V<!3K$]O1B&L\F2=*H^2X%=B#9H#+KR>%9G**>VDV<-40,ZUK>C\
MN37L8B8T7]@ILX>)/^>FAO#D@;+%D0?*GC1Y6/@K<0I9-KS]N85(H0P*20RK
ML05J+#LO_6-HE*X$GHRC#U^N1X[1H<>Q[ARDDFV=?MEL1=?I_DLD[RW.>MU[
MCS2I7M1V5T7)H=J$\J7DARQ7FK%&L/33Z-G[W#!2ZXG7]U,M%4JSR(5/U"/(
MPZ<-<&XJ)%>JN'US@*O$RM53PEB'X98FOW(-1M'2%;=M%E2B?@_BW*;J39')
M-HPI67'[\2(2]?I?)XLTJU^07*GB%LT!CF>U]1%.L?N989\0FFSIY EG<X&O
M=EU@5Z04E%D5;Y?CT[1PD3+Z7[ %R9TNIF28C&T!>EJ<SH.=BQ=$)?9L@F"V
MAQMQF&];N-H63,$AY#X_<XP<R%J;<YSL91PGZ>^N],_A<M_;C)XM\)4M8CLW
M\<F$K.G'+TL:IF$T.JE*];I?9C25&$F_Z[(;F42J ]#[&C+Y'I+D2M4S;0X\
M>0^/..P0N_F4D9ZA)!,="$J_)W)NS,GDD+8ZNP/M1K@3C/7%2R!?<EY0%>_T
M=\="2.V_(B(OT+V]?*:Y+$.LV?1>40K%G-J6:0%,0,CH YFEE-&[&8W<:=V-
M;&(E&]!X&>+U_9S6#@X/^VN@^(AOTO&\='Z2->]K9J>1X2N(W6=TE$/JDS&&
M_K^B@X!N#3%!"KS*_$[3N[;W;'G?O@9=K+C\W ][^5&Q3 #5B7J@'K]6.&E:
MG."CHN"!U<(?/3^L=^1LXM!3'E:&[IT,1)_XV_&Z&K_=DW4_N]7=]9W<5SN?
M'OEOEXRY^UCR&N"X59LF>+]5<*^;L6F6;?_P2'= .]WF1=E'J:38)^_^IP>M
M$JM>!J[44&)JO6.T=@JZ F.-7QJNTKW!Z^?_ U!+ P04    " "GCJ10A+LG
M.DPH  #;C ( %0   '!R:6TM,C R,# U,#1?9&5F+GAM;.U]6W/C.)+N^XG8
M_Z!3YV%W'UR^E:O*'=V[(<NN&L^X+*^LZMYYFJ!)2,(41:I!TK;FUQ\ %"E2
MQ(TW,>E21,^4)>&2F5\"2"02B5__^W7I#IX1";#O_?;N]/W)NP'R;-_!WORW
M=U%P9 4VQN_^^[_^[?_\^G^/CO[W:G(W<'P[6B(O'-@$62%R!B\X7 RF_FIE
M>8-OB!#LNH,K@ITY&@PNWW]\_^G#R>G[\\^7'\X'1T>;EJZL@-;TO0%O\NS]
M:?K+:-.J[_TRN#C^<'QV<G8RN/SEXO27LT^#AV]IN6^4R!G6%72Q]^,7]G]/
MM,,!9=8+^,??WBW"</7+\?'+R\O[UR?BOO?)G#9Q<GZ<E'ZW*<Y^=<*T0K;P
MQ7'\8[8H5C2-O2"T/'O;=(&4EW->^O3R\O*8_YH6#;"H(&WV]/A_O]T]V@NT
MM(XR'03XEX!_>>?;5LCAU;(\D)9@GXZ28D?LJZ/3LZ/ST_>O@?.."GHP^)7X
M+IJ@V8"3_4NX7J'?W@5XN7(9-?R[!4&SO!QG5O#$.Z&J-K>L%>WL]/(8N6'
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
M[466MJ_(8YD5T>,*V?SAM>TI5OHV22DXF^D0PJ77)M2@&6GL7WV^4:$OHZ6
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
M50F$H@"@%W07Y"!&IO@445X,@H.GHE)G82PR!@"4Y/!C@MPX'\8"K]3X*&M
ML)4;@$K)(P#4[GV/VMTK%&[C'-6@J2I <%LU@)F*10"0C<,%(@7>5)@I:T#P
M?34 FI)' *@I6-2Y>,RJ=O@<30G6Q(X@_>ZEK[XA.6?? S2+W#L\D^VZS:H"
M7R>5"F#&(;2 * 6W7XD?5!C%FVK E\^*4";<]0C&H6U'RX@:;,@9+GT2XG]Q
MVZT\L-*&@"^Z5:&6\@L-_"QUX]DN&Q*@=94@G'55!57'&S0 %7Q^B4+V:D6&
M(99ZR0MT[[;4:W*OX'_<VX@VX+Q'JB'@(T[:1:7*K-# MMR_(TM^):.!EH'[
MH(Q'C^F28"R8?NL1XV'ZXC>B.6E;P(W[/>A**HHWH!VT^_)[/4UKP/<,^]*0
M6!C]UY$O?M3,XK-M#/A68T\:$LOB#2@(+=N<@O#&@&];]J4@7!;]5I#A+$2D
M42W9:1'X)F</JK(C$&CZLLO!/0K3RVB:,$6SJGO5@$_[T0 SSKN-A!P1Y. P
M^\1NN8#'S\7;>G&3@VR;?8EHO$9/X:U'$8T8V<H$RJ*2G3PI['MS.G4L&4$\
ME;8\&%%<%$[4H4+ZN:=_A6P F"1W"5-&C\D* XD*5*F5"@Q 47X-P)$/5+N\
M./GX 4[,7CV(A*R!0,WR@@=KS4:_,OA$5!""#U2M=GE@BARTDRMEN:1S,;;<
MFS\CO&*3*S5U+(]G$XG07R,/43 ^3_UA-(^"D#9PILJB4KDQ"%Y'/3IUN00P
MAKY1,W5NS35AK(52$'Q^YJ.G0#X P><MF,+9F-*&O(,0<J5A()>X1F2M]36<
M*L_,R")DS=*L+/W(DQWKJJM F.LJ@[G+##1OQ'?/BG?BR.&$!T'$WD3:;,DE
M>.DJ09C]2B"F8P<:9FQBGVXF=H4-OBT"X7RA!!YYXB%+?Q01@J33FK D!%=^
M12Q2'B!#PFX&&*.2+0S!<5X1F"P;X+!!(35"@_$L]F6.HS (+<_1F03Z:A#<
MW&7PTC($S7M]3TT7*\3/)=\0_%R\MR]R8Q\-TO8/+NWV;OQQR7^Q;)Z:1I5;
M7E"P=^YL$1, IL \6>K\X<*B0!S9<F62@P#(B5T3AIR7]]/IQ<DG0 [LZM (
MV6K%=9KKG.5B?2#XV0K1E>7]8/\;S_Y 0<CRR%S=3&Z'5\/[OXWH8N432YU#
MK*&&(3B\52JZ=:@VPR^ $=G; XKF%;J3PXP" R/+LQQL>8SZ,@-.5 ^"VZ[B
M>!*QTPH FW[R%(SPDZT0OK8.!.^;F>"UK(#;S/8P0L3(HWV($#E$B-1]I<!W
MG[$WSP]FY:JNJ0/!(#,_0]4P P"BV .5.*#4]I:P*(05O41(B)"'CIXKG3#'
ME^1]V,QO@%[N4R\/.W1W*56A(A=^[7BF%^I 3I 0%-1$E'E_P=G%R:?+[MT@
MIN(5$M_5V]%44,MH*97YSN]=KH82!4F?A<Y3"F"I.P0/]3AXZ ^$YPN6GN09
M$6N.;BG-! 7AQ I5QRW*6A LEY*0*OD!MR^FW"265FKY6J]L5KCR"?%?F%UL
MK>@OX5IF<I9J H*/H\SA;RGF6G_Q\<$/*<78<F\]FR K0 ^(#&V;LDM[^8(L
M=D%+Y'LRJ]>3:*,2'+4.2'9T/[Y8JS2I)27'IO_0"6 \8SQEP@9NO3\6V%XD
M56]>[05;HAT1<,VVWY,0IA8X!S?OOHG@F@:"H1H(KNENQ318$?L7[I0COO4)
M="?HVG]&GN6%$\3>7K)93\'8N_6>Z6<>?33B YK2QUX&]=T'XC]CML\,AD%V
M7ICZH>5N<ISZ5^@:!RMF((]G,]$DNW\:]JH3G^M-Q/N7#N0AGQB!<9XM.D_5
M,9-5C>Q512Y;,915['4;,WF-^($_?D9;]DI>^K\L7OK?MCK(--N?($F!3(:>
M\Q?DS-EZ3,?Z,Q4\"K8\*Q\VJM%>-PZ,(KD3'/Q0G!2KJT *PJR);-[%H6(:
MP&R])3!Y/EQ[RJRN N2LV41!Q4")F ( U.X.3WFP*2L,X:S91.-V<N((>0&
M296I0N^EK]5FE[[\!H2AFSL-)^+]GPM(-FSW$5-6EL8ZY> [[>.+3]C+290+
MT0[+H!(,3W]#@)LR#6VGLQ7 ';:>N!%_[\<$:>Z!:^O!</RW-J"E?!]<T-VY
MH*5G#$T.<ZB.:HFZ#)U_1D&(G+R>9FE](-BS\<IR'ZPU%\W88_=567"[2#]J
M-@CC3*))A:@I$)">D5T#ES\:7=ES4KAG*O&<Y'ZP-UWS-Z3QP;]R\*\<_"L'
M_\K!OW+PK_3(OW)EN2Q#T>,"H?".=</D*9\!Y<4AW4=J</:3,PP4/.6\IZH
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
MH]8KZYGD@!B1)E)TJ$_+XOP^?PJW(J5())>)R$*1)"1UL4@AE_7G-ZC-2X5
M=B.<,! RM59@.F^&')]4BIT&,'(;Q!BA%'7,S,V=6%!<9461N)/'<4H]FX'*
M%#K&0/'B__[ZVV^__8X<G8B\ O7_07[\=L4_@O\C\=Z)X.UOFNS#B/V=>O^#
M_.%?5M__\0^K/_[S'T5DP__Y3__TQ]5W/_P+8<)*6;[P-(D3_@< G@/GC)&[
M)S]\MR+??_O]MZ+%-77IX85&^:??_;@BG-.1N@E[I;Y%SU][GJB-[?@/#O-N
M@ROGR/C"2_H1%#^35D?DZ*"O?.V&?6<OQ C20_C!]]!+%@1X$!:0G,N*R'AC
MZ?[]K : V@(7W !NQL5F[;7$80'U;IPHX# 5KUTW/:0^7%:\IEOF,G4A-HV.
MR/U<7_EZB;:N7HC]O(?P0X=YP8(4/,@[B0O)V5C*X#BG_C3G8?4Q7*&=.'G@
M:':,Z)X&,0\OLN/(NS"&0\C-]MGYK(+&WE20^_U LYP\I^M# C$B#-5DQ'.T
M$@NRX[ :QR*K\SM@^E66 #;<PMF^M7=YULR3UQNJF>>=#W;AP1-PMH<L'UC
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
M\FNK4#2MY?+'=MOR]9TP)<M,Z7 P(D<>=T&#WU+^!XW\-W$IJ9  O@G"X**
M+W*@<#U9D$SVE%R&?'4%_Y@6YS6.SVV8MR_4XX@WJTL"\7.X]CP&MG#\!X=Y
MM\&5<V2)XS<;[)'&2<1<N)8.UOX8L"1^I'RY';.$/M'HE;DT,_LC=<-=P%JF
MC/FE0#[=6/I9Y*EJ9A$03W.V+#$4B21Y 8(JB0F(#'MDN=!M,V4E>K:C1D!X
MP@'L[(LU;*I!AUPODBN63\M$4LW.9+NXW^\ %Q'^7LZYC3_%H*7",6('/A-P
M?G_\]@]B'H!/_JM(D B;I:^.SPTE.(B%T8E-==HCQ59M50$%.QM;QBLO=%,8
MT4T+,7W9AX[01WKD0F< PP._5['J%X%?G@JSXIH-UA7$EQ[=LH * ()>^=;\
M Y=AQ3]P$K)W7BEQ7#?B<=O7DV!%$\Q/;RZE6;+]DGE1<49UZ:FZ^6]++@QB
MFL'M#SZLN9GW, N<;1"UK30Z^B'%P]ZJGVUDM'5"',_IRSYNDT)BT;A/:JO"
MQ_3Z5\3%:ACXX73M;$=@@)W*C@MV[KKRNMZ=]5JH>Y\(/YE_9WPP.K@A"S1X
M.(X-K0\L"",>5Q8WM8N[(5!!]9K%V1U,*)VJNMK]Y^SJB,*T!LDC1P[3AI3Q
MQ11MQ"AD7,7!E5N:GV&(:A79_2E1.+DF4\OS#9++90O;T-A59I:?C,CVXHL>
MEC";Q57+LA=2*0PH6*$P;$MSY$C5I:B,/*JVB)&D4^31M5Q6M6)=_%^<NBW_
MGE[;LDX+BI<7H-M[/_P4ZS^X:.J"W$5U%%8\KSAKC]A5M<2>(J/0^NG/Y/W=
MYI<GJX4?06=19MRCWN7;1[[RN TV1QHY"23.=1/N@3 E7O%ID@4I_RS_DL_6
M':/?&''D?F+6B"<U*@U01NQ[AA4<'&[31,R?I!"$O+R1=R +8<%7I!2'5/+
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
MBQD^BYH;#9I6/24:8+*XF="DSH8FP,*3&_VWP?4]<2.K='MI_I371T[P1L*
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
M(]/T>ZFHFA+7B!,G@"I%4$"88PMW0@^.4LK<R/#2S:<"5Z!A5<70A5'@\+$
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
M/<E\%[[2P F21^[,$7/!R^--<!N\\G^+%)-7 D&X>E!],/0?HO"5Q=!J'<M
M)!+]9%5EG\-+>LWB(P<W;[/=-F&;!1F0.K[5GZ0,E><6 'LX;<T>AD+N2)*4
MA+ O4LJZ(EE,(.XB9?*28RFP> E>_7/%0VX@',/1@W3&D,?R(I<8_P(T@J>0
M+Y1XN5+\ZRUT*1;B6\8M*.Y"N;DU9]Z)6=Q/>I+8>$4*F<GCR:\KB4VNRA\W
MEYP\2#]N+"\0>)LL/=M:_@$+%?CZ86MA3;"XG^GTQQCJ:@/\"T?<7<1CC_20
M/8H><]372@3I%#[.*%W'?6H*"XG_>RAB?(50\D1]Z#>A9=:O#O.A>H.A@S]3
MEX%$ A+V2J4R$^O ^S/U=I"M$/;[1+T5#M2N'\8I_RG:JY0,IX<<5$:;JGZU
M:" QQ% S7J?A 5K!N58M!:;UG#FIN!.)/8:"*OV-=M=9=F4<S2_0$<],-M89
M[Q91Z,6$7A:<\LY^X1A\EC.X\7B?PE7FS5:B_I&O9-Z'T7/DP"9GTWI0IQ-2
MY.BG=+D7U]D#^^:9O@*&=KL"P1 6 $QR^116R=LP(DG&=>;]INFMD'& <UX9
MZ8 )X5Q(SL;"'LYLJH=UU4]_<0SQ55DLO3A![2B1U=T/*=KU5KTY%E)T6D2\
MTR6[@9FY9+$BY9&\S9(#TRO?H>:(>&3M_36-$^K5!9:WC1\B%KCLZ/@/SIN
MF$T E5'N0J=QXAM+$*EGFS-6&>.,HH8]_C&CW.#+L+43A&/!B1PS5G!$(=+[
M^)S9*K]YQ_@"*1>:>.&G@%"'?_I;ZD20I"$)H>8DH$]^\SHXN0R49Y*&.U,S
M!UEV35UP/X7BTVMXI0RD$()L @)B$)##0H1FUVZGE\FRL3?TEO94$1M?9VM/
M>EE;I/BMI6)[-,8;+BH"D^4U&75A";),Z%<J12KZ5@L*ETJ&,4>;ZM_=5CGO
ML!Q75"BK\,>3ULMP2I70XSUS18 XQ#359]9]U+2ZZS+*$LH^4C?<!:) :4UO
MB[[[@05AQ)&DN'?>=E:K:HO<8UM5E)VUL2%B/VV7=WB(%^0WGOSLW4G^7,#Z
MR>>INF='=!WFN5O.B66GJFW#]OQ<"?_0-7<6IAR^=[;/"&?7V>*T\N!$2< -
MDF>QAW?#?"*\9G#A\B45-RX55M+KB=Q_>Z@O>[)&-\0^W4?ZP5MD.8_?E_41
M<C8K4F-DQ\/GL$"-&FSP'7.F%IT]"EU*O?@]]X$"Y)[V3D3WH>]QR536ZNZ&
MW<TU%:_Y>$<?S ZN*_I@[\X9$# ST9W59O+MJ94O $WHK,*Q&<L@._%>88K\
M*^3.*2M0*VO,/T?L9#7QAH^E>&^I1/%4XL^XG9E2</+U=LM\YB04<"B-(JJ^
M^M'6 ;F7="M;V\Y4MD;L41I"#P[&4IK-527Q%:G(6]K.G$'=AX@=^ QH<7IZ
M<O?42WVZV8I)^)++YUV%AR,-8G&ZOXXB>+\GSC\OWZHV^9GH^I,3>6U[G2;I
M(X< XZ:4$<,8<<0 8U['H0Y:2 (G#H+/!7SN$5D:(HM#7MYJ#7.1B)#)_I;O
M [?#O7-HJS5XT@2YKS4I5%L=2M\C'O&-8@Y>]?%^!*A9+R!8J-5:./"LT4*&
MG+I08+W% H:=H8)YTL"S6@]P=K5&W+R]^2T51QAPVXR]4N#%G>D'=47KK@Y(
MO4=?V?)F;&MK[#=?]80?G@28Q83Z(N8@4?T)$+ A&7M2\B=B$.>W4^&CY&WF
M^ZG3&J117V$)B[6M9U$9J-J;X;-8^ZVU>O5I&Z0(U:J2/+W7&B">W9OE''SU
M2JQ@LAJXEL/*X:O"RB2!IQ6<3L0*N0M,:>#:9L8$?! [Y*3J#M[B (;DLF-;
MXS+?UL@;UK<U)&C@\A$LRP"4YLYG[7P_"$$Q\2QE&_6>DM#]V\> )?'CT\>.
M8N+M?9"#FY;*]6+B+1T0PXV>W&.3_7$T$.2)H$\>R1/Y:+V>^/R*(XZ&5"AW
MUW'?UPAAY&!@SGB]XII.JHAAQ:!RHV*6CJ.8CI.8.]NWES&8$> K-X\K";%
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
MU1#T\"3*"6XV^@B'^ !90$&8$-0 .P!02P,$%     @ IXZD4"<9])F320
M_$4% !4   !P<FEM+3(P,C P-3 T7W!R92YX;6SM?5MSXSB2[ON)./]!I\[#
MSCY4EV5;ODQ,[X9\J_:LR_+:JNZ=\])!DY"$:8IT\^*RY]<?@!=)%(D;"0@@
MY-C9KBH;2"(S/R02B43B;__YMO0'KR"*81C\_&GXT\&G 0C<T(/!_.=/:?S9
MB5T(/_WG?_SO__6W__/Y\_]</-X-O-!-ER!(!FX$G 1X@Q\P60RFX<N+$PR^
M@2B"OC^XB* W!X/!^4\G/YT>'PQ_.CH[/SX:?/Y<4+IP8M0S# 89R<.?AJO?
M7!94P^"O@]&7XR^'!X<'@_._CH9_/3P=/'Q;M?N&!CF#K(8^#/[X*_[/,_K@
M #$;Q-D_?_ZT2)*7OW[Y\N/'CY_>GB/_IS":(Q('1U_*UI^*YOBWD-(>!G'B
M!.ZZ?8W^CZ.L]?#\_/Q+]MM5TQ@V-41DAU_^Y]O=D[L 2^?SQ@=B^-<X^^%=
MZ#I)IC,F'P-B"_ROSV6SS_A'GX>'GX^&/[W%WB<DO<'@;U'H@T<P&V3#_FOR
M_@)^_A3#Y8N/1Y/];!&!V<^?7B*X_(PU<# Z.,;]_^]5 9/RSW'@70<)3-YO
M@UD8+;/1?QI@^M\?;RML8%IA!&,WC%Y^<L/E%]SH"Q^]3*Y<ROW2E<&G!.$4
MC^0R#.+0AQZ&[87C8U4]+0!(8A'V>*@9Q=R#$Z%?+T "7<>7R^D6:=ULKWX8
M3V:WR#@N06=VFTB:Q.9EN'R)P ($,7P%=V$<*^";^ V3!/&4A.X?B]#WT!)Y
M_6>*S(U4&321-YM]N=->Z%LF">;2B1<W?OBCNXTG4-TALU=HG'X8IQ&X=Q+T
MW\GL(HUA &(AYFA4M#"#7$R(9/H0@1A)5]S?H!/2PM(C<+'GX[IABER?8/X0
MA0'ZJYOCIQUW+)I:&+UQ8/2KXZ?@&W#POSOP1R"E27^O($B%EM&&SEJ&_C4,
MO1]H9X?<[ELT"8(Y?/;!.(X%W5Q.@EI8+.8 <C_?'3R6P$,_B5+@W4'G&?HP
M@: EKWR4M3"-MML>3,91A#3099HUT='"T!6(X"LRTJ_@%NV;H[0#3P12>I;F
M$'G'08)(H0YS-&, 6H[:,D8DIH6US/'+ D)X2X#V QW6:A(M+8SE&YJI\];6
M;E0(Z)E-\!5Z(/!B'&YQH@#!)7X T=,"N>8M)Q65HCX MM[DT>EH8>@.N3IM
M,5?VU;,:A<LE3#([B^"!MDG8(P6!VWKEI1+4Y .^A%&"W8 G,._DM]?IZ)D]
MZ7,,_DS1"*Z1@YJTG#K;1,S9=DRQC&5N/DJ".K<@79C:(F':=J0+:QQDC=V:
M=.%;A+XAVY0N[)*IF;-EZ<(?E:!)VY<N3#)(&K25Z<(EG:)Q>X).J.6@J]&=
M[L):E8(A?F<W'X!$S8B#BRN0.-"7='ZQ(F;*,48G[FCTS'&Z.[%(IZC3[4;F
M+$M6"5PP>?;A/!-_-V;Y*)O'-.ZCCO$*=9W,XY!#Y+A)OHF0P3"!H@E,;NP6
M9'+:1%8GN^@'SGP>@1QKDUGQXXOWRS1.PB6(IHAZ$6["X\?_E"&/3M\U;9M>
M_JJ38$3HFR: [7^K$@3Q.\9&,CI)0N@#AL0R.C%,(6<(>_<.^@>.1DCFLT[7
MG/!-)U;I%$UBLOSARBG!]D>I$#B_:%*4J]MNE$'3H#C7(QI8!-TLJ1']_GL
M._+>XC.Z#_H[\=M$Q[@07[=)S4/8.);'00*OH)]BNY/]H*-E:_<I0W(CNL_H
M9G(:0[O8NH1!GH.=_>3Z#5L;[#Q.7@#V,8)Y]G-93JJ$SVH4UTV* Z3?8 "7
MZ3+[$7*VL^7W>X 4BU:L2QR.\;'_765$AM1D?-VTY)8[M*?OMA/F)F[(X4/'
M> B1G"'L%:$9I(IIF#A^OO.^>/\*PGGDO"R@.XZ (UD&8M\T(5>HHW=((B;,
MVLO&8<@=^F7!#_Z>O)NI&V(#;PE:_H&W^BE,\)<.#@[.#P:?!R6AS;\Z@3?(
MJ0[:77C-.$6\^J%;&8N/;Q*'456'F%R,Z&6T8N#^- ]?OW@ (IK#<_R7S_@O
MGP^&Q6WA_XM^]/ME^ JB\7.<;<M*>L@, __G3PV__Z)^1*7T<""T84";O_[]
MY.CT\/CP<'1V=G1P<#PZ.#W;&.(F0,91=;A.Y):TT5]KF*FJHVCQY26[VO;9
M74!_A8)9%"X;)55\+>0<=1BA9?#G3\-/@S1&8PE?\*CQ!3H$7X3>Y/WG3T<[
M%?]_ITZ$MJW^>VZS*)K8:MD_I? P4.CGT!C]3",GB&&^M68H:+MIE<'1Z.#\
MU' -<7%0J.C(&!6A[2$,T;+B73D)S915VO5/.>SA%YHYIFCF>">:R1?C&^B#
M^W3Y#*(&I6PWZ8\^N$9>J&*D?9+DHWT$<XBY"9)[9]DT1YJ:]4TE'*,OU')"
M4<OA#M6"8YH1,K29$+/+[I?X?"YZOPP]LI:HO?JF-'%F"AV>&C*UIL[;K8=D
M &<P+SO$,'F$]GW3FP@;A<;.#-'8V/.0../B#[2G!4.BMAK:]DU3O"P46CHW
M2TN7Z*^3:!K^"%@Z6K?LJ888#)1;UP.S%)39[$GT$(6O,"_$1M725O.>JHJ'
MBU)?^F,-E:$_A''B^/\/OE!]C*;&/=45FX=24[2HPVXV3M@$X$@T03>;O^Z/
M-IBC+N6O/Z2 2T?Z#XLP(&]<MYM4.3HQ. ['-?)2%[0@PBZMUF4:88;S>!0,
MYMCRIC'1;C4W[X^.A+DH]65*I"%+PD*,X<Q#)W$*3BA[V:;F?=.7 !>EOF@A
MB%WJ"\>QHDODS<S#Z)T:IUNUZIMVV(,OE6)*3.%IZ?C^1HG 9J546O5-*>S!
METJAA0U&.U3*]1)$<V2,OT;ACV2!\Y.<@#QC&EOW34G\3)3*HD4/=GGV\+0
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
M3>_\K"U^/ T)QXK-0GI$NZ((NEFR%)+P]P F\2- EB&&"2A>,<A%_0C<<!Y
M"H!W/ KCP*_&W)H@5>UQ8)STA\"/2(T.CC/HXY_\7M:6P;)]=7PDHXS)S-QL
M@939WG(XM>-?5B%&DRY:9%)\!"]IY"[PE*DM5+3UF=;/<@1UDX.2\H[:%UZ:
M+'+?I 68\H[&H:F=WL7P0V&]J^=F3#7 ;S#(0%L&I<O9B4OK7N&W9' 4&]?4
M)46Q?\GG+P%9LL@;AS\UUDRIN+H60648/4TAEE5%OXV<UDLG7A  26J^)P 3
M8E]-S5,SELD^G:-:BT:%PI)5UC4_-[L.ZNCMXS'JD?Y[1+L^1CVJ7C&2<XZZ
MQH-AUP@?,ODO0 )=S-NF/BEW"D?=[A0._E+Y[+]_W#&TO/ZS"7:D]7W$UMPJ
MCM8?:38FV V\\<,?,:?9& G5/QL__3*XN9O\]M0;X["2![]-:.BBJ>@%'LE#
M%&)X>Q?OWV/@W0:K1T/';H* GT 0-SV>PWI34PIQD\T)4?%;M3!4B<&2=-76
MN5X&H$&A=OE3P.R"0^7D$!_Q!2[T0:6DS#3D%#K#1*GXU'Y#=&<2M>32QQ5
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
M2C90@/ZUC0#TH]\?<5B\82VO_,XX'8LOWFQ^B$[;3E71./^V?FN,.MA";5
M>U(99E&YE/<-!G"9+HGJJ_S>/ 52QE55(9L/,Y5H0E)L+PUG&PXMN;V.6?X-
MP/D"OV_R"B)G#FX#-"@0)X].0CO'I/0R'!)TQ3;#0I1;I=FQ(TU>-));Z3:N
M]@[.&[:5%V$4A3_PSL)Y0;])WDG>M0 )RU#4F7538ZL/88+$ 1W_-G C7"+H
M(2]1%WEH?#? P=4PF^*K//TLP4 W?I6&6H5S:0DHV+2(3S^<E]4KM(A+%RMI
MCM"/I;>1]74;_+: [J+L>OWF+K"CYC6A129]FU"E7"X*'!W]@?Y=I&OV%E>=
MV%6:W7NHW_'A<&RJ<CGJ2=8NE^/2R)K2#%UAE1/6IZW[;>$K")P@>43F+X(N
M'G \"6Z#5_3O+('V,K.(B&U<5#?T'Z+P%<:XU3C>-*Q3?#^E>#TYO !7,'X)
M8^!-9K.F-6S78[ $B.;(3E9E=:/6PH9]2?X.&S+T7?9U9"*6X%(B\P6PSI0
M:U6B0/4EARN099W!5[ 6IF!YL_-Z>;,UU<$&V?[<:FB0R3CP?@'>''M2R':]
MYF\9\%]]Z$!13XQ1>, Q_19%2WH&VIW.X*@&*F4*AA+"U.R/-_'Y".,_*/E:
MM"XVP(*B1SZ<4(71!RB4+V4P$[]H77H!!:JJ:-KFY->2T\WMR!@U[:>YL<%P
MX-1E'0X"G%H"A#;FE'T8WH%F5=C'2-@GIL!J=PM.-VDIS4V3=29RG^*I-9EM
M,/T]!MY-&$TC!\=1FX)$S$Y6H(>NW:W83SN1*#V"U^[NK-YAN0]SOAB%S!C]
M]@I4W:2BU/0(IW98=QQK.?9V(SU)*0/2'F BH'3L_3.-$^!59]VF$!XB&+CP
MQ?$?G/=,#9, EQG"EU";8-F)X/[A4+ZXE&8+'&H.9&_OO?!]ZO:![EH='T*@
MN_*+\I'/[*%:^!$._PB'R]J\]=/>[2 <SMY.&+,I4! .[R<L*'KL$@[O$104
MA,,-A0)555W"X>KB"%:$PXV" Z<NVX7#[0+"A>/CDMU/"P"2._P9K"_R4D%J
M;C 8U"P30H*@!(DT+Q%-;% 7"'('XR @I"(^#=N_,&2/LJYK-F\\P$E=(EC=
MJB(;Z4^&%]1N'1ZM.+8$)+>!&R[!$U)8%J?D6#<H/8R#ANJE0U06E/"MYM6#
MP EU :'V,0X+HKKBUC:%7VN,1'DVD;T&P[7#J+3M"Q@HJB3O,-B<6@(#P_-M
M#("5CHA6-VDI/=?1]F#W]O$_D@AW @5J:P6NZ'KG29H@24)I HY^S(1Q/ G6
M_V8#9ZO#OJ.'1QQ*<VW.=G6<C/>,^3U$/TODR/T!L0/CX4']9E25[F!%N"^'
MP<UR89SWLCII>4L8!AFFRM'0CFL;VQIG"_A44WE,F)LOHUX5^=6)(![IRDL/
MDLS&7;Q?^DX<PQG,7?[)+/L-[<68-J2,4SR_&NL0D"8 HQ"R/?9&+AGOT0B0
MJ KD1#\BI&FU#IC.<M&^8R:^-Q#Y\;/C78:9)^6B?O'?0Q@DOR)AH\6;]NH
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
MTNN5Y]*-4S9'+D.OG#[K&N9T2T3N9P\HNK&L-!G]5!40EB].\"X(@JT^M@.
MAUVE5^[D*W]M[!X!CGD@267%BAW_PO%Q[BRO6T+H;BTDVG'>BW+?34R6GA5B
M%GAP-2EXT4'HO@?H$.'<K)K?!'3@I(,X?R4"%QA,DSAQ @\)K D+Q,:6:5Z,
MST+/I[VS K>!BXMN@MN E*8MTM4R#'3AND#$6>\0L6'6BJ*? @[#5L\]P ,G
MTP4<SFVZYO$(7D&0@ALD82Q3G,;\&TP6EVF<A$L07;^Y?HHM)KZ?A_[G39TW
M0J2B!:6JE$?ZKX=TCE?($D(9$#LPP_3(P=K7"(GW(0IGD'3+8:.%?=A@,5?J
MG*L6J^H;/H_@)8P2?$SP!.;YS2BA.SVG]3L]:Y*#DF9?;O 4X\TYP-.7?EF'
MW%Q+?O;J,?#M<=T&LS!:9EBY>"]^2:U1+4[)N&G,4F4EGUL2OT9=ZE@51BB3
M(\O)2$G?IO8Q3\62U-8 "&$YF*7Z?+34G.Y*&_-4*ZR !B4R.=2>TD#8ZCW<
MC@/ONA@_.0&PH9EYBF0J86O?QLN4TKOX0UF*1+Q\9^NQULH"-?+QI/345I86
MOR->KIA:K+>J<GPR&AZ>]TR+G#PI/7*5IL4D"P!.(R>(ES".L=@1=Q"YA? Y
MQ2.FZ):SKP4:[\*I@M-7*:J_A*_09T[@>JO^JY.3)Z4'H\(36,U>?F-/<,=(
M^>3I:AXVU.V&VHI#P>JN TGEH]3U6!D!/^0.YJ&FK6[K,!'D6JD#KRGR;= I
MBUW8DB4.I?L-62>]!;/T;,!:(QO5+\"I@CU(S\[.[% Y+YNF[C4VQCV.UYC=
M\,HR-#=-:<ZN-FJ],__*KB/M_@"V8!-MNZ>XX'!>,?GB_2L(YY'SLH#N. *.
MZ"EMK99OTRDM_FGV[:P68_;U0?[YP?/[8#V  1[!QYGN3L]T"\W$V 7"=<TC
MA.[2_<GJ:8?!_ Z^ B]7&-_Q;ANBU>F'KQ.>F&5^^$YZI;&N\N2/ZXKRZJQL
M/4&1U6@N!4!L:YY6Y6MJ#0=Q4>C7<H[RS<$2R\ 0VQJC97$%;"E/B$-3SWGO
MP^![ !/@9:*(::5>&AJ:I4PAA6PY?OSL:=>DU#@1KTECQ:O;DC,&03LQ^DJD
MI3W$K3"&9  @I.I*+*XDU^)42Q9(4?'&[I"NYL:&>Z5J?@F(O&:G.C3PE#['
MX,\4D;I^!<*9V6?US.PUP4%.L3=[^"U)L/;PA.9(XZ.3X0F.&9T/C\[.AZ>:
M;N-L#9"Z66]H:MS<%1)XPZZ<ET>SLFRW1HV^1TNM;FYMNBI%'"L1%DW7)#UW
MFM2^RNJ9 :%Y 95P*93"IR5[LRVF&6\=-+3M P@H:F3"@,*EG1!@;;])S8T'
M0GO;3N=1^Z98#@RNX"OTD',=7SKQ@N%R-K8U'0!T+=9!P,^DTN0NX5HJ<N"
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
MAH<*!N]-Q#UCPEM%WN:&\4H9!?0,J?;F64.G;EW:+VS"S^&I?ZX%IW&KQI9
M26$1-T[VY%6[-,XL;IS+5['@H>#URP9<<GN%3 L B?6J \; RCT-[]^Z2%_'
M@(>#VR?;[[:1:=8X=IY$O7YU,43:P.Y6(_L=*A0\N'&)SS'@77F9R:Z<CB70
MH&K-&NGT;$Y$,?@;&)PXDY_^5@:_:,%YNTMUN\*X,IEYF86-]_I<0K]U-E_!
M@H>%V2^;\$E\E! UM4*P?$89V60G2Q;2-Z_(KV#"0\/NDVUX8QXOS@QTN1)*
M,C&<XZU%?F'<NJM^;1O^R3#XO URH[*729!C>C5!BG9R(.D3M]B]=6Z?=3-,
M"%='#MDZ6S5*%,8W"Q.DE"=F^40V2:*W;JTOQ-:P),P.N<H 0NO5"\X2+>&(
M/L_F)S/M_#N#OPQ7PQ%&';*5TG/M*M<5#!:Q1Y[8K-=R4^+6\R678NNG6=:'
M/8;4>H\AX>\Q3(H$NI9=VW+$IE]H@!L4#$6=JXHK:0%C_5_8)9!=?PL>-QBH
M,K VG'WPOA:2I32]*7@24/NG%/WS+0&9_&-*=H,7GCS[UDV-/#;HZF2_  0]
MA0A)*F,L&E;HE 0DVJ^CY/SQQ__I.#V?A=#)X-UCQ&ZX_P(G/MYK:'9N$@A*
MG;YS,XD0Z&,7G[US\XI'T:XB"_ZI(N5YC'PN.> 4S_/B>\7TW_/GD<C__#QO
M3P_"L$/ T#CN)QY6\6N6^*<VVZHS2KNV \--*R79JLT-:E#O0$+L&8:LN@2*
M_P/8/OC$)CS8X)1KJP:P;7Y-!_M1% 0G.!;7],OTZ*KM@XV!,KQS,'[SSD):
MS8J5"EX0:*;>6!E(ON/*H;,7CV[%*91\U.S/D?+C2OU%'FRT_*E,.)?"#\/Q
MG3#)A$_\S=>;IX6R8A=P:[68S+H25D,X-55A(O1_#OH/R!WA_"(XKQ4@Y=E]
MH.-39=9NSQLUP6W/J71JW*17X5V:O2V@'Z%WA/3+(!T27M@'^EPNC%6K.9H(
M^)BG\;B\Z"7X".B? _0#<D<XOPC.T^I<U?9QKE%VFM1X+,=*=4ZNT-UZ(2]'
M./\4G!^2.\+YLSA?N]:&ZNRQRWZ'>WYJR*I.ZR95D^0B*U7-<4F;L<.*&-I%
MRU.AO_:9GZ%C%*]^.VDX#%:]7M'SU&FOB+HJWUO@EEA(L#>O\L. ^RA2O0+"
MCX6I#:0.BDC5+:+XJD"VBA5W4.1N/A\3 HA',>IU,'X8H ),+ HXGLFA7GS
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
MP3;SDI<U7O+:;'>2&^?Q1:>Z&';TT$+@V-0>.?]D;F&7\W?QKVQ*AEV3/-]
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
M>4M>)IMN9^R5D%Y.!^4E?'=F'%IM?%-W\U[@<M;G-MPS<%B*JKG^X@SO2T)
M)78I:ZX"E*QEZO[UI:ZS)99D&5!4[!JP^)%D0:D[_H(G5]+XM0YE!RB\8\H3
MP5"AU/'"!E>,0!6,,=Y>LKJ"%Y&2J+>U0FB5WQGIM7MSS L$.V?.[]K;YZ^!
MTD 'KF_J+1BR3ZTYJ&F2 94VL5U(2*27'ML9YX62.W3[_1562XQ"NZYT5H@&
M&O)%:GU+?"XD2SER%==+>F_;RJ>>?[;W5#"*6DNE20OOLYRKM+*=D=<OA[?,
MYAYE/JKA3NYUEZ;?';//'4FZ)&;!PDLA=#R;%=)9=\4;(XHIAG=A_GMC]HK'
MC8Z$[V</:W!2M K]&MI%\155DDU/,&TCM.[GC88U9SM'O%GH?,2-?\?2P^&]
M'#"'EC0=0:)HC\"HFH8ON[X8PW8/V\D5LE-O\=46RO4*52+5[M1M+W1FU;][
MZ=GI;1A]='[AT!9[(/C\PXF7-&D/"@J^';K/^QM2 C]:LH'B>]J0=^NM^L'H
M+,F B&DNS,U[\G%IE0*)JL?R.1XS*K*CL63H</=%3./I>O:1JSM;<$YG:]BS
M0U] @D86V-IP=M;7=+=#3B<NF<NFAG*UU SO=3^1#)W*V$B*SBU%G+&5H0Q/
M%]VQFEJ@TC!3ADYPFLN7HA#M-F7H@:V1!+U/@H+'7J=SUG2MS5NL*65)1+(M
M"JYI*6H_:S5J2&BW&W]+^0DZ? M3PRX])V:G&V .#!<T@"ZI?JJ_!JR!:>G^
M66*NKZG#X!U^*1N?\4U5ATVX 0^_M0>2[/_&;X.Z1]F0X:#%]5Q(&/Z)N,XA
M3*I'8:A'KT8ILS0IU=$KP=^!N%:>Q\3GD@-.\3POOE=,_SU_'HG\S\_S]O0
M]QT"?HD4^%/!>'>2B"YUA:7$T@VTG>TF4EPEI53FH5/RH4L2A0$#3Y=!WH^!
MJ;;J=Q5T.)%8).[QNJQ5]= YRJ'#P%66%4XTD&D+**J3E>3@ILZ=)82][]NJ
M,ZH%!YFA_V!,_'^X01LZ&(RA%%)LH\"DF&HI;5I3<]WK!C!Q@F\F<+G(H, 8
M%!$6(1,I+W2 V9J60UILUP\^@QA?4\/@(D[Y6H7:'.78?/!53%EU-N8X#7W.
M7=UB.:,F6$IVT]2TA>0QKC,R+3C95M$O]/VP2@.?S%FF.RV7TQL\^:]M2,9P
M_3;_4T5:JKJK/XEGMG?F,3+TL6WUH<).T/]KG8BK/)%G>G)!D(1,>3)9<G4Y
M?+L,?"UW2.$']?9>$K\_[O '],";'W_\CWO,^7A$\PQ7-W-^[\0^JMRIX) /
M=8IR?]+TK$[>&:3O4Z1KTFR)Q1*J+5"5,KU>9U3-4_E0^I&ADJY0R\!W,D&?
M(@2XF^T!HF"5T5DIKKG#1=9=3B,3<]-"<!5#\#2)'&;0(VY'D#$JGYX@J:F"
MS(3FL.B%;KM1!/H0IW/YUR_^%IP@2/,3VK:NVCX-85R64?WL?M_=B4V%G(JI
M_6IWC.(X2YAF0BC(7.AT\,/"UPG7@9\Z]:_I!GP<.3ZQ]J^,Q[2XJU)IQA5R
MHI(K<>QLH$Q#F[\X"2,'DXS0<!0-M0*D%+L/AUERS!K)^GC(<AA:RPWM<J:9
MNVDX')EEA(?C>("$$O;AT#>RND2 :7:"R *'37B\FG%O&PX'DXS0<!0-:76N
M:OMH:+"-8B=NR!6A3=2T-D?I*%^^:7_B<))?&0W/'1;Z3)]S*A:]13=>7J"S
M)IOL"</R&,^%+OEU2SYG&-;6/H*<0Y_3Q2R)].9TE44 2/,NDFHMP&UCY&(^
MYXVCX9C/N:I61EVZX,Q1I#=.-O"*T'(7M^UD7,[GO'4\'/J<W8&1H%=JNLFZ
MHJR"_$!R!\F;]C(NYW/>.!J.^)R%83Q/+KI+# 4URB/;B[12*]ZTK;B<SQE&
M-)#L:H[-L(PVX69]T!HHY5[^_(6&;I!PKX9NZ\W5_CYGTW@0H\==P8X$ :AL
MZW]LI*FM:"Y9P*4!JR/=NFAY=*,U"K\T'9OJ[K[V8W/]RH'<Q[#!*$JPMB)I
M-4E5"D9:FJJ.I&T@4K$+=<E6M?H$.(O18A2?S>3*K4/DQ2E_9:2\:HS?HT4&
M3<QMZ9Z3GN!B'"?98LFTD^%WV,.D1<)@83Z&C9>U"%&;6 G.'HXG[7EIYA3C
M<Q,-[^T<8=8B84#*<_;F\#">?\])$U@ZE"9_@J;A-]ENE2Y/XW&6<4MH>SP>
M+'K9;FDX":W:.'*<[87)?4<;\C;N8U0FH=#I+L;.-&$L]OO6)-T-;5@?#NZ'
M4?:/;%!7C2,;U,][[,*=YQ*TXJYP0<4<2_ JGD=.0H>F8QO&=XGU+&Y.QFET
MH./=&PD1,M%#31?B1JH27B]#U;NM01AN,;E(!75GEJ7,,BOG6#615>BL"/IQ
M*5RS/W]9[4\H'_^TSL"GEX]O%7):AYXF^A.<-A,$:0\<$ ^M)_T9Y>,_K3[
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
M[^D0?_\]9AW^[W^2<9+^_:R8/F'?Q=CPDA#5!:;19!OE;JS!UKA&,U83&KS
M5)NQ)A>#YJX);=I:6V)$C&O$,.HOY>_U%UPVULRSL1V;^& /F70SQF4WSR4)
M\OY!0@,:_/0!_S.0DX_Z9X&GCCW83M7PDRJ_$&Q?E<2V_P3?ORCD&_(%[T7/
M:<?>Z9HDCGLF6=.*.2,0FVT!'ULG=F( 4D2)'3%U.^+X2_%/:<*7CA3)\Z!W
M#8PSR6,M&!2[SD'M2&.RVP75<;$O37($5(NH7-?J0=;M= I4_ W",0*[B_EC
M^A:V\B-N$->(K&9D-9]Q6/V*?$$D?6 V3;L0']03=D%(DU.F0<7;PV)E\7&S
M2=Z6V6PVF"I?\(UC9#<O:S<_JO>VAM)YP/C64@XL4X^M:7^9?\<<\Z+][?5]
M__4R Y_K4:5-?5.4-#90H6DR7'\-]S*9 S98!\S";JM!KSL*N"I;&27?KI(3
MW69IQ]#Q6=<^5, OS0Q%,80@,9+Z\D[22<FBL_.Q 89^35O)</Q-!#N\Y'(+
M-9'5Z,6$*[N>*+!]X#&',>@^]VJ6JIN6:L=X8,U5&4Y]YW3YYW'T!#W[%[N4
M9">8KI_JMQZF&9/LF#T%LK^XK<14(Z8Z=DP>!9')W^%Q.3=Y\01*)&B,QD5,
MIH%(]@$0)=Q/DZ,8BI,8CL<5>9,77S_1E,5%;4ADEFTDCWI3D2IVA"P)A@Q$
M"?JT)=IH=5<]M&"@B*CFZ6362'N4WQ)_VA)KI>AA(H-E4*2,I2243O.$5Q?Q
MPW=BB4:SQ*7XQ(03VJ@JUJD:TV+\^ZN>MC0FU7)GW!I)@CK"E5XA:_><!2-2
MA^^<X<4ADY"5#LJYNERIB68^N1J*]&'+/*,2>34Y[$[P/M^P%EG&R#,,;+GM
M_317_HF4[OH/DNN8VR_6ZV[!-WN^RZXSLVZ#'JRJ[4<(3QU_<^O@DXG[)/$_
MN^CZ%!_S;7KGJ9]O^Y63II8Y]\7KT^/QM6(J&/*CZ@A*-:5-UW L+VTJ&ST%
M^3WMCZWE:- NL&Z?YO-*BBR5XW41#9!QNM7) $U:2/Z&C-/\_"?L6KOJVY#L
M'B,_E6%ORSP_YU3M>^LG(@^_-O+. *RFM"QL=C?)P?MVW1@(*9:987)38HNH
M7J@1JFTLL_B(@9#"WP0I'$7(.$DD,?IE4 5QT]64P2F6-!"^& Q-.!B;6+&B
M"PV\H@:7<4'3>G7Q.(?UO9Z,G,*0PGWCGK^/L?I4,SU_L]/-8&E/J0>0LH:2
MH:Z"SW]'4+HX/_848:QJWO\=%C1=)FJ+T':#_+H!8)[=BV$4Q?(OS5S_IZP:
M 'OP8#ABD4G5DZN$X#:PK-2N,H,5M1#)-SK%.(&BL>I]+*L"38GQC@6 <Q?C
M7=4!VRPP^OQ:5B19D63=LF2EX9^<U307QFZ"4QRO@-*8LZCD#M$,.00%)G&8
M%'LQU)0T3;*/BLWI+[E[9='\8E'ZAEA!B,!9-=B9:LB[:<2>4P5R(;ZP)RI3
M6':(A9FTE;=1++B7^/;US,',OH;BN90\UDR(9ZVG3O?R/TQ)+F>G.2[+\J*,
MU(CJLC0 ?@[Q;<%ZG,+] TNW':=O".6GNVL6%$-U*FDQ=@EDU]]N'N,& S\C
M'T59EP_8(6IC/FR?!E<?6RZ_^@+6Q_R2'W\>UY[\X6#QWW;, 1J8CDQCNZ1Y
M%X- UER?0S') A)4, KX%=N.^W0)_^O<RZ*^O\# $3ZJI\#^J1)>='MENB7,
MJ*[4,3M+"W<.-U2_Z(=CY ?=A;\OLS)<-J'(U7SN':P,<\L"WW9RLY&00XLI
MU!ER<QMYVQZZ.(DB%/U"Q'%I +_7H+]?Q6QVPF '*P*\7\A3=53XAO5*)["
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
M_'N:#YIJF26NZJ.:QY:P57N0STR5N0W'>@0#1*>7JS.FD9FT4^@X;?+3PLR
M+#B" 4VWBFP^IPDH/C"[V629Z.KX4"2.<&N Z$#KUJ<VZC57,VI<UP<SK.[?
ME'[(6-FSK>(,J )2*JZPNC!AW,Q")(YP:\HG]&6+J#@3;P[ZG6)-GBDC.( C
MW%(0IR+GQD)YDJMB7<"2 Y7WWWJ$6[PE,]1PU%L*N41_-2JO$E)>@F\]PBU/
M%HUA5JZG4%JB39EE<D.Y#]]Z3 ^H[0DHS1+8!$D;]5X-;7E:$38]PJTYWA2\
M= NMLH!#F)K5J7?Z<SB (]Q*)JER3>CBLTEZ(I,<MA@RGA8T/1##448K]7(J
MFA;:.(T69@6R[?;J?M.M&'[X2DW)=<SM%^ND1/#-6^[6_(2+->GD?1*[C1L1
M;_3>R1%T>A'X MG/O?CD><AL1W2_!MVQ>_Q&K@#]:H3'[M'HBMM(U7P?ND>J
M)E(UWXWR]Q@5$?[]A#^RG^1@I36($S[DU)]O[HGM:N-N^O=]FRK>-.]WFK[O
M0XC7;-$WHL1KQN'BE\!7_(*^FXH[V-UV\;P?244D%=]8*K9W35Y2,%YS7]Y%
MA-.G?&R&D4<0;MWW'@X?_OL U7""/AW^_8'_^%R$X_<$M=UJM]V^B$V7L: T
M<6R[BR]$>L O<G]3UC!"Q-D1@24C,W!D"ZXL S 87,,2?(2=#,_O[JYZC:&O
MS#(D/N\G6;AW3O;2?NV59_OIONLYCPQ%T(Z@'4'[6I;X$[G]^MF_B\=@:=>R
MH/F-2;8-'/O7&\ZJW;1N^9(JY)MHB@B/$1YO&(\W9J#"%#,^.?CH_X/A:S/F
MWX/H5Q.2_3_ S%7GDK8^@!AYT;?B1?^?K^47QXB]0]*Q?]0E')*1M20YN%C(
M-52GX1_6%> ?(N] ^$J6(@I\1ASV9B!+TR-<*'6&MC TK.(POO@1DV'GL,/@
M*<86N8%(^+N\_82GB)")'FJZ'CF1JH37RU#U;FO _(@I0%9U2;/__8$0/V+K
MPLC__E"7SB_#U173V?S^(V9(.IR]:R-#29K^\B6*,13_/^RC.#%.6K(L#Y*M
M)6DN^!&S(0?@4_#-FXW00G79(W0KC:!IK5QOJEU!GZW\0S[$CS])XHZ,D__\
MW"=$%.E&,OJE913#UT**)45GEJ7,,BOG6#615>BL"/IQZ?)"RHC<F!+D.3E)
MERH6DIWWK7++%U+ZQQ\,1^_P!'U1*;TQGRA4K@\CR\'IW9@%9  AT-? 7<P
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
M!ZATS[(F@U)\Z,MT<!<?CJ)W2>*REX'?F*=U]=M^3%U7'1WXER1 Z 78@CT
M0_;]J;]X &)5TP$QC/X[BDVC+09?[-*5"(^W,JGO@<<;,U[A3!/ =_".*4]&
MI@:=0'M[12R8N7">43AQ.ZO)89KMC>J?"-H1M"-H?R6;&Y(,_/8B&ETW_9E!
M<QO86?SW_WDYP;&NAQ>D-^R19 %;K./8@I!'V$I YN/^2N'[2PRK?S1Q6:AF
M#Z\S\ <;N 8UR>(LWI$<H+0DS04U8/'^:!Y2'.@ZQ5&5+$MD\IS;=0R[,/$8
MK+1@I7E1I1A(S;--]$WIG$^<*94KT1-#6"TG)<R0BLN1/,FD%C_^W*/HT66Q
M)U_$II(5F_N]_#XUS;4A#6G:&$5G-0?]_]G[TN;$D67M[V_$_0^$[[D1<R*L
M'NU+GSD=(4#L((00VQ>%-D!(2* % ;_^E02X;8OVTLTFK#EG/#9.2U59F5F9
M3V5E DMKW=(6*#RA3B,#G^AV\<2TF$,N[7M3VPFU0#W*K,:,0@QD+,K@QO);
M" FH?*,<O"<6OS_SSPO%V:9N!3.TIF^X*@B[5;1F; <#WPLU@@(?0TF)_OV
ML.P8D).>7G470E-U7?\77),J=*%<K!8U 2?Z@@[FI[:QYAY^H.0CC*&/&)$$
M2F-([AX$BO4]-QIHN!<=Y4T>JO59H&1 C#^O^-S LIQ!(XAY@^/8(X0DBVCD
M7NRJ@*LI@+X&=EOJ]TK\'W%:&A0QH]\,&%:14;)BU(F%R[W:D/?>P_YHX%,[
MX^['Z#'AT$+>F+M/ BWR> X?/?.$3&T<;9MZ+"1/NWW\G]U2OS\EHL'C4\PM
M&R!;M[QIGO0Z]<+UIV3_7.#7\_)R3<E1IKO#'P1ZW'T3J6,\YZ*F:'-9<Q*_
MAZC'7"@Z"RU<[Y5F'@W=[S&,N;UH):M!=+4.=T]V-/;>CC7<U;#R>-.?ML"Z
M4*#GV+!/C1Q:1.(Z[%D-]DR)TJ)$Y^QC]ZX6]<1BE2H#-4;0G#&)E/!"AR."
M2(OP,VE1RF"'VX3Z$]WJPJ='"R2982RJJX!NY11IH4=I@ADZFAYT-+M&=FN.
MR$_%:H=Z5;4*.ZUZ9EF/&-7-9#-S 5R;,YLU0S5&F[Q@ED*C&A=0IZ!'%$*S
M=+],3;^>FIZQ>]WOZ"E>Y*;C/K?>@KQ'TH#OBTVA%^MIZ/Q0Q"-TX48'*7.-
M;LH#ZFB>I%N:FM,DQPK?DUWSO$7[F)G!LWHK!R5@]CI *XH_]\WH$*RHC75%
M/W8SK(#QLL1,$0V<![6Z.@4,IPR'5A#=M7M!'W$L@U,RY4J+<IW/Q_@M[:I.
M"D:G4##G@M8LU*QMJ3@=;.A(NR* !8$>82J[>)D:F.7GBN?LN,*$8L\7CC;5
M+%=?:;F_3-MU_YW3XY(C6427GHCNEF9[C;2TW%_I<G2>*6)\"[[P7 UW%7\:
MH2JV-(\==Z5U:)?#B8?O.&*@-8EW2]I\5C5TJB!;07.LE;><B&"[ZYDXGC3/
M1V\$9:J=J?;-J7;*/:[/JWFBZ1,VG).H/=%!H+U8UD:P.EM78^T.W2_B8^6$
M,WCG^IY75-LDI'5LTXQJM.NA##J:>[R?\#T:W'NZ\YY=;;^J[]34+=L)Q:^Z
MUZ$C5M-!&^)(KPT109NN.@I7:YH582(BNTKLCR!REI U4\1,$6]0$<_GWGQ
M$[OC?(4QM\2*Z=/%^:386H!Y.8@T,2XT <)9D[W;!X^>5^UR?WE#-\O4R2K^
M9-;X:F[1\ZOS3*R088!I^A''VKM^3[3G.;KL>Y)L:EW[943RA@EO8+WRMH(#
M@5&W2HB$#KOH4@R=J;CV.PYACRB:I0-EMB"S!3?DF9W-&/B^K&CBIL$8_59M
M,QWVN=8<YR)C$+5-AJE'+,LY2@$H]:LZK-&]KD]Z>/=HO$]@HY'0>JFV'VK7
M98STO\X5(%]@(M>VPY<HK$I;:M(H'[L6QF"CFL2-1J"/U_A6J;5<T&IH8,D=
M=$4BV",$(AE\E6GF5]#,B]1'_:AJNM,RQ@R;VYE0Y^JSFMHKH6QQ$JDFOE--
M\!'%O^:=L[]C/_)W!Q+ZG!HPW5U4/\W(_EC:%2WR@5\5I].T'*U$&5.2M8E.
M\:("JV[.LW,%VPJ'XFIJ]%T<L\0I5B7=DBQ%#WVLN)!+7*PU'IX4BY1(2F-,
MUC1-I' <$U$"I$1)@G!QK% @IN 2IB*AT?_G;RG\5]57/_X)OQPFIIB:Y$2"
M,_V/JKL+4]I\C]=@/^2#C8");P@6<33\:,]A!/P&1Q_M10L$_R]B\K-'OW@>
MH&BF^280>7C"B7D.H\\<UMT"(#NIBUGQ[.O__+_GHT\&%GO;^(QC>T[ L29-
M-$!V-,D I''X^N^2&4@;=S\W,M2\)[O[_<F^(M&8J&\H]'^YG]]&/$@LTUQ:
M \_8M-=;("J^\'WW5X>/8OMZ^,QVX]L@WQW-E*(B"J]6:+_&GKWX#D/?\%?K
MBR<6]R2! _)S(4(!GCJ1E?[?KJV\TM!+%*WH1I(9=30O1#M&K%5[W9>.U]/
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
MTPU#+0GOJ.WH<]O1CQYLW4D+LM1W&DN_N_)&//<6QM+NS\6F*GE]0:,IH^.
M$V+D3T3J@+%\,/'Q+IV13#EO0SF_"NYR1#UU9=%J%XIZA]'RF+MMEZH^VHT*
MP<0)D B<A$"_ H:2%=;\ H4UGQ$N/GF7_(L7S<2RHIF'I\9KG!7-S(IFWHZ)
MNHE![*L7PM"85,;R6(0I1!913<5$$B$)4<5DF(+E\'=CZ>''L]ITSVM],IQ0
M[0[WO\[J?'ZJSB??90OU"MLH,AT^6AZ(^$]NQ\];*?/YF&/6BA::LK@T?"[\
M*-?6G/U/]#S<.+P[*07ZWB@2RO8;-_5O0NFS062#R ;QSI:(*"@A(0@HJCBH
MB2B.D:(<_B-B(*(0"(00E$*^V!+#*+TUPB<-"%FX(,MNP590&W+$FH[P!.0U
M:=^CAKS=F.4-N*(VISU G(_&@0B+Q&M* 1V2I>FPW#5@9S488:M&;4324>W?
MQ$,+$MPV1_BF VH55G7E7J->;DPB4OPUJ54Q; GK"AVFGL=KPP H]?Q1]'Z(
M>DTZ*7 C&IS0:W SP;HE<> 6UXM 1")H\-7\.X8RVUIX'YRK^2:GFW(+#-^/
M)">U\2AKB(&;!:C)*&LVYYM-K1.7*4Y4RZT!(VK)-L NZ-=FXR[KU+LR%+T^
M.?]65<^OT(9I@&599]U"H/<E,7I_<OZK4A7$(0J6C(*CXJHO&1:)Q*2)^7=P
MP8,;8WH%XE4F/]_JP[P%![L[X:]* +O]GK6N>"-FTY^T@!4+4+MKJHFBQGA]
MRH)(A='!>M><+Y!1T6.(J%!R@E.,7^JQ X4L&WU@VA%)OD&8RB0JJ9RL0+RH
MH55Q.<\S6G?5FI<9=-0=QZ2)D5:F*P^HBB6?F?LM3U;L8KZ[B0LU)YCJ"DB7
M#E:N9, 3;NYX@S)36D632C)U64'F6J]>1$%^"M:Z>69LJ>7XJ0FF*HH%!AT$
M\@6V)%>!<M,H++#@6%7GZF UUSJ@3!BP 8/> G-5F9Z$E FFNC *SNNS58-9
M-CW*8#L3L@]%E:(33-5G2 'EVOE:R'ZP0&R;D-5I1)1)IIJ6OX#K$,X;A6&^
M7-H87I]F8]($IYH^D6_2'0T2YM72:EFJ#-T514>D"4XIV'1D+_-N"RQT5=?H
M(JRRZ,=/37"JQ!9@HL%Q<T%G)'])*NO%4N".5;7>&-36W&[))0CDJXO)!E&K
M;LA^/"FHJ#J U@Z[0@78W<B!:XL+F)GLDKM?4DKET/0Q=1@4"DR-:JX4UW>W
MT3,3QJ_F-_T9U"9;3+EA$;9&S^H=(AHGE%BH/(Y8BXGGE4"VM^8)BQ"(#GZT
M_'9S&D887B>0#=]>*2Q>&\C+[F27^OF2<K0N;>;#1FULU ?+(8%/;+%5FNRR
MS%Y2PMRP01F-CF+@;9QMS8N;/$1&E(DI8:#N5H51B1=\&IPB+E5%H5I$"24J
M=8^59L\HMPMED%U!(%1J-F:+>93D!B6$;[L*]<];CSB&=;P6"\-TH54_6E+<
M*<JK8;F$5@6_!^D+I.$V78S;G0R_I-2$%F?BS5#UZ]O 1$25'C76T1ER<J0,
M4EVUS$DQ$'0%UY<2(RX4,29-K%.IA#.MQ6Q69*1:7>UKP3*4\4E$FIA4@/-R
MOH9*/0'O^AL3$1BB.SM:_7R\GHN ,S)E8;Z:U?B^/PLLG=Z=-+VDE*4%U>-
M&Q-TEE_(34<6.V2P [U?&1Z@L9CX=:EA%%2:U+!.O6!VHK<GIZ^5(,'<CD"5
MT0Q0+ 3ENKGH1@==R>GK JUJ7-XH16=B8[4M(>B:CDD3T\?SU28RZLU884D7
M[2)JPI1F<*$Y2<Z_41$"P^SD'6&)S 1JQ.I4$X])$PQ \IH*8?A@ _JBY$ ]
M B>$?A"1)CBP':G><#4I^P8_%;F6SUD&6:$CTN2\ML66C];'7$M8%CI\>:PR
MHYXYB6D3$ZO(XI#U\WT'7*HBSX;>5-&DXR' R?VG;K7EP@"L@, &M'@8!%%]
M'CX7.E* ?S4KV>TM;#$;$'"WY3Q9RX]CTL3,[&5UW:PM-G,#J,/3%0M;6A6C
M(]+DXOI\DPP8M+@6"DNSM>D 91FVN)@VP85^N5#LSX8Z _+4JMH#VC;$UN(A
M)+G *4H;[C##LL&WJ8$Z7:+D8AJ. 4[.#*NZO+KN6X8AH9T^)J^#]3(?DR:6
MUZDRW3;&+7!#8_,=<S!M#M;SF#3!!(H%2]RB"3!,O[&6PGVE)/'#(")-&"VI
M"BO%2JF79\HMJ%ML!'K-+,2D21ZL@LV0U5D/!"4:*1=*?5E7D!UM@@?$$%X2
MS0'D,,MY'VP73(+-E\+1(DD>P&"[U;&V?5]8&AC4+1C;QDB-21,CF$(!W(46
MBLSHA9F$ DX1LCPN(DT,H"\ZW66KW;% K3285(N8PO.S^*G)75LO%8QBVQ@"
M!DL'MM^8\#(RF\2TB6T;[X$CE0<&'0'H*%I=7['R.MR-H&-NHSIHS<2A/ZZ"
M,#H9]T)/OR2T=V,X;-R_U9+AP_T6#A#UG[5;@,EO8%8$_;/'2:>I"8UG?2ZN
MPGCP&X1GG,]$_BLQ'LP8?PW&HUDSH\S4?"W&9UR_ M?Q;WC68"2S,U^)\1G7
MK\!U(K,S6<NTK\5W(L,*KL'XK%==YM%\-<8C&=^O$SME)R!7LC1PQOBK,![+
M3,UUPB<J\R:OP7@P"Y^NV7_WE[?^W\L^. L[#H\IA(.4'?W%GW^&2V?I'/>V
M\_WE^/'>6?V78T@F()\ZV?YJ_'COP/FK\2/3ET\<FWPU9KQW:OK5^)$I2Z8L
MOWWT]]7X<>$"ZN=@QQE;@A-O DP7;_E-*XH_]\VH3-*9.W]G%O039QI?C1WO
M'35\-7Z\=P+P]?CQ-C#_U?CQ'E[^U?CQ#HQ]\^SX4QSYBJ#QDQN2\"Z^6L!V
MFYPX#U#\Z4I0M\F<3$RN"1??)"?. Q1G^G)]*3E75']R .B/@_KP]=%9NF3>
M7TQ_FWJ1L>%\2.B]F,[+1R@W;SEO#P^-FT=G5O,*>RA%W90@M&SKW&)P>83O
MYL6 ^H;=E!1T;>_,3M2ID2LR(05OS>]0O?[Y!#,L*C/X1S0=/?'63T2J?L%.
MBW]J"@KV?&Y;.X7A/5LQ,B\AB[3;DJX"^MD]A4P4CER#Q6_+5>AHGJ1;9T^C
MR*+(%$21+SK79<8ABR:CKE+[-L=95/GEH\K8?9R&WVN.NV]IE,6868QY2]O
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
M(" E== "K!A+K-Y> 6VR(8UNT&/9%):CEE4./15I*XGUNH!BH_$D-BE$9%+
M(S4LLOM$I[U/=,<FY=@Q\I<R*0!*CD#;WZ"&U$(VHR+&#7OC/[R(= X[((O]
M65%=5VU&JGA]WLP+"@MR\=D,^/ #A[!'%+TL"G+K9]%_QRR^VD!._=IGA.$O
MLT%D@\@&D0TB&\2)!R'%&ZX(43(,C]%P=Y5A2$0Q4!9E"$=$!<)!0E4IC*2@
M\'5_2X>_"+?HDB#A'0HM]<#RHMDC]*8(L@$=Y:XAKTFMZG VK=6A/@/[^;)?
MZA5D'*%%6"1>4S:V*CC"'2IO *VJ!O9GT-AP@Y R^=!>;8K;ZFIL@[X_J>K;
MU@B>-;B(%']-BB@MP:C,EAU&&L)*'VQ,%PP:O1^B7I-VRW*]5@0Q"MS093@_
MM[G"LA:(<4[(2TIZ5K++E5Z[(&QJU67 =F<8T(@H$Y,J]M;M,@LV4*,O V9Y
M0%&+]8P+*2'P-:G0+7?;36+C"GBA'0A"WT8*^"0B3<Q_O/2I+@L..+!O=/.
MZM7\-4Q'I(GYXZH$!U--K!GUQF#H;%6W. -BTL3\EYC++Y2-4C7Z\%BAVP%M
M+EL3$4W.O]"4^QPS$U?&<IY7*]*<LLA>$%*BKRGK$"YV<(&K&9O2J-!K$@5C
M$' A98)3PJB[]HM I2/HDKMHK)5YO[6(*).<J@Z;U36D0H: !TV-FQ3G7MNC
M(]+$2*NN.#,XSNLS=:<F07J)AGIJ--(D4[GZT)(Z@6L:Y>8,Q_D-:&O]^*D)
MIH[E2NAO-]D66&@7NEU_W.UX=OQ4\C6ISIH%$BP8>8-'>DT)7O>V/3$F3?#?
M=PLL1XV$.0/T+71+""-&H3D1$Q,,&'<+@52@-$;050.IEC&6ZF\G(66"_QK9
MU%16&//&1C3;PZK0'*)K.J1,\%\9Z_,6B)@V",C+1C5OHH -1)1)_@]ULT]6
MN6W+D*83V>RVIX3K!!%I@JEB(<^-]& U#M>?9 *%+S"Z'<TIR=1IT ;Q#N'Z
MC+_>NB NX L8C >0X)2W*%,]3ZT%QJ;J=VEOXW"D%HAXDE-<&^HM1B52,>9V
MSW"VK8$)<71(F9"4Y3:/>,TJ)@F%9=/AU TVM_F($GM-2:X&-<"I%QR!A<NE
MKN(;11V+*!.+'ZQUET2U)B=L1O:H:+MVOK">A)108J$:#6U=H?Q-P/A3$$#[
M[*R!]"<BD9P2VQM!B(TX>; P80N=(3!AQRLNI$Q,J6&"1K=$;]<@SC1X,K]>
M]@<=.J1,3(DMC==B;0D701CQ5; -Z7@/#T+*Q)0V]:*\#8W.7- Z54)AN,F
MKD;/A!*[A#$1P*I5K>:9PJ@R =T&-9;M:$I00O@JDQG1K! <Q?2KRPI,A:%E
M/8SYR.3LH8D[74E$TQ;*R(HOMHV*K ET2)F8$[ N LN*QAC@9MY@ZVN@#$=X
M$GEDI.!LUN)[,XT-.=_@N0$(;SK#Z/7)=9+DH&Y5]#5E])VR.E:Y&< K,6EB
M4GV16$V Q9@%V64)7Q!;:];0H^;;B4E)6KG">B-;-?"@LY[P0"G<""/*Q)(.
MPVE!0L^J&H4F"HS42EUJ-:-N>XGI(ZZ!&R;30!G?5 45AZM ?AA1)J<_)\4R
M)VL].ISWDB7:2)[:AJI/'9G^F!9DHSOLY8T^BX!P RJ:=B<F34R_3=(4+I%U
M1F#S/7U@N*;L47%KBL3\0_ZO4&"X;0M242DY5%!=C5:3B#2Y]6PXF-UR'5K0
M$&OJ:FL&73:#B#3! 8(?MA2LOS9 W5F%@7S%K%-._-3DO/"AQ_>K"!,P&D++
M#9@?D\MPGXIH$Q,;<^Q:\'O@P"C7B<%BW48[)3N>&)R861N:L$)_/?>-<K4
M->HBS<M@$)5>29#62_B,Z,);02B$8NJ9@$ ,2]R^B.]+4G2""8TIW"R'5I6F
M#1SL]X'2)")-, $N4$6,ARH "'<;"Z"9A[IM*-B78WQ).NFJ[&8- JX!T]W0
MQ2! P9S'3TV*#%<+:HB@([3 <W6L(,.X@N+Q8Y.\K:&#P7@[+ _!/@=,M_HD
M<-="?#$RZ0--[!45JOC(P,>!#D_JQ-:?[6X;)$;K;;=&D]@*C.Y  .J[,)LW
MXZ<F>%"C6N!T7&\,07^%M]WN>,@R5OS4! _6*[M.B+4&SM0'7K/F".B:+0;Q
M)<ZD;[/LFJJNLJJPJ9 ]J]:M55I^_-BDS)34QF1N*@,9U*M!Z+VL*HM-)4X2
M3/" *>*L3GG63"A4JWYE2)J6@L4X>&($,[6!3@31:3'^$G=$I]2$QOWXJ8D!
MT.PXD&U]*!OX=+F0YZQ2#^C=@5UB!$IC.B/;4)XQ? _,DVU)11K!CC;IWP-\
MF6L5-F5A#K/ATG;*RE+8H?:)'3X_&8!JMX%5C+XI;R;"&ESJU1WM88N/D:PG
M_&X'UBJV:4H+5_M^^.9Y8(3_Q., 4QM[SP$Z($9<XT\.J?K@_T6QD^<<7C'=
M78B =C'5!VO^$-_(-^]MJ/KJR//M\)ECTPX.0=GA9R!"&K_+CB890!#.^#\+
MVXU3V;X[FBEY^DI[]<P]>!V_^$ JR:YM^I[V:J(W$6C^'8[]Z>M9KXUFC#\7
MX]_K!I!Q/A/Y>V/\VS7],\:?B?'O]2'(&)^9FCMC?,;U*W#]O4+S&>,S.W-G
MC,^XGMF9K\/X=RZ<9'P_&]_?;OB1,?Y,C'^O]TC&^/-Y-&^FBF>,/QOCWVR"
MD?']3'Q_KY],QO@S,1[\EO'].H;F[78[&>//%CV]W2(H8_S9+$T6/?T!WS]2
M)%+R/?NS=Y'>33XX"SL.CRF$@Y0=_<6??X9+[]S/^AV&7/KB]\WSX[VC^B_'
MD$Q +MVL/E7\.$_?^_3R(].7R[;43A4SSM.=.[W\R)0E4Y9,66ZS MPYV!%.
M/OKPOP_PPZF]=N*T_9S)Q8OB(XH65=SX1'. 9\7+/MP&X#<MZ$7+[-R^DIR[
MKW>JV'&>SO7IY<<[!P!?C1WOX?(W6J3K][R)MY'PK[;T%Z[*=')V_"E"?$4X
M^,G!2/@-7RT4NTU.G <"?L^;3 ES,C&Y)A!\DYPX#P2<Z<OUI>1<\3KY#<=N
M*UQ_ZG]R[F@]Q=*0;J3S)MEP'HSS7DSGY2.4F[><MX=TQKT9[@_CO'E)(+Y1
MU$T)0LNVSBH&9\'N?M]4WH@84-]NRY/JVMZ9G:A3(U=DPAB\-;]#1^3G$\RP
MJ,Q-/J+IZ(FW?B)2]9<M&*#%.N?:IJZ>HP/#GYJ"75/:G<+$_0ZRV"J+M*/^
MHH!^7D\A$X54B,*A1^2992&+(E,01;YH[I=%DUDT6;"?NAUE4>67CRJ?M\N*
MV $1_\EBS"S&O"4?\7>6./GUO%O?+K,A12$D/Y4<S4U7L' F03B7J<>^$7"J
M9(*>AS/V,IDX>ZB8(IDH2 O]W+AS)A0I$PI&<JSP_>?>/D[O*7Z\Z^W/^>];
MM([C?Y*>UL,/\&*"LD<74B0I#=L]NY-Q6M A9;9C!R^D2"(.'993A3U\9-+/
MH[.7-B,V$1>&&%(D$;LNW1GJ\-FVX)<#'MZ:7%XR)4O1'G-%3='FLN;L9HM
MC[MO8! B/[RVO]D(_1+'4I]=X#/,\NS7)][QB7+_O&QNG_,MW>MHX_\^".$W
M(N])EBHYJNC&V(*(VBZ$X273 X&EM6YI"Q2>4-Q#:/>LZ)WQ']*NR(ZCUF0(
M)$:2(OHN,)&D1?0P3YN'IF1G':)3#-L*?W3IM>X^4>T.PF,,LQD+GXC-R_T6
M.Q0L!G"G&['+M<L+A'[(J9JBSR73_>]#M55ZR(UM9RYY_WW0U]YWRY^KMK<G
M>,A9TCQDX?X-WW<X2=5U?4T-S72X6N$OP8=#Z[ .[Y5I$X+6C%2U()I<#4BU
M%74\A1]^8. C 6&/6"3_+QF7>F4XP]7#WY[MV2^+_.N<XS_[%8\3Z;3 %\7)
M:*F5<'P*"_7!Q!4FEE.;$,'5%1I /J//S\X[=B.I6HKI1RQOVT[$ =KS'%WV
MXXY_7;ME6\K/ [.#\_ID"9 G2Z":HYG;6];K@KYNL%UJ#6]J0M1\& LM068
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
M)?*C7J*+'I/HMEA&&:/>Q"Q&TC=X;A^#O >+G1C6. U/3->P$)['(U(92-8
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
M)H=[Z("BGFJV'4#W@YV$6^WW U\CW*XM-#WX^()AP-4-5A7#I:D9@"6*WV'
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
M:%X2O;9*%@_3"G<8HVD=^,= WI&+D)!?2U->X**@+P9AD? .HNT#3"#$BFQ
MC@ZS-EGH$O$QT@*6)(E&9F +24!=PV>FD$01\'>$=Q=Z7Q\>63@6LZ:NXYV@
ME.OSTOFG[V.!*[HC#-G\E-\G1&XF+'*?3U<M0@)+3\9TOB5D?>F+%X6E;W[#
M>!B&3A'D.P0RVV<?_^YBJ&6+LNTFK>KP2*%\V'7*N:Y-L?P$DM]/-@O$P:;?
M4*X.*8UJ;#X@V3D+,F1(C(>X+C04N4P2SD^3J:B32144(,.-O/0Y&:YKD9N;
M ^1XD UV _*&X4A+^C,?T&]H*F,-60#)5Y0E9!5S(3#/<XNDO27VEH$E/ZP#
M_W,\DH%>&</B=[V[*MPPPLJ!7CX/;?('"Y'P2!]BKQQ5)M6K@*LO*)[$K>O:
MPOZI?!<<&[H9 ?QP2+#6S ORUSC'KX4K?2":(2]$!T(SG02AV<:DJ/L:''H+
M657 '^$O[L@_S-[F(B3\$"G11"";+V;]F@B07.9;F8!?UJ-3L0+8B:*(X.8J
MR?;%DF+IYSN.7(UF%^-N\6PM/"KCIT,2M#NCJ;NDM,3[B)HU![]6U%S@'F:(
MUMWP+SV25?A78@/9 _<<!XC.F,)@"KLPX@^"+;&- -KY'&X_;GX')*WY@@FN
M[U!@BCD'@?2F-P<)!#9ADT#FT.T@^?MT0D$+J(!A!_<8=RCHR_TGX>R3=[#G
M7Y'7^<87?3[8I0-PA*"1#68YX*OI7B:XVF.SEIC4.>[68U/%KB<V]R^8'&[W
MY1=,DCY,.XR]OH=#1VSGF#6:_2-4O+[_'] +@-?77-!<"W@5Z@%!*MD:#<;
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
M^]+FQ)6DW>\WXOX'HM\[$3,1X-$NT3-O1P@A]AW$]H400@@A(0DM"/'K;Y7
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
M/.AIC&6ZS29K"&J^U2<8/*7D>=#I;6U'.DERB&3KAFL[-G1'-8$2WL>)?%0
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
MDH 7__<'\>.D<@*(29Q64-P1<GHKWU.5766V3?B0>/)QF7%\;ZKRCF(\/D8
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
M]W<SH;.5**#XU@'%_0'%)R.*-!ZZ;<F83:7([.$IOU9=DDWH.<3+G?OT1>@
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
M97-$[#_3#:N;5*O<I@U!<@?R:$:+Q"($=^X]L^4(053;S!1)U6J<87=&.:[
M _O>ZU%OI?/"JJ]24KE6)DN-6<YI,?#.O;<3V+(V9NE&4TJ5 KG8D!AOV@G!
MG7MO)U/] 4G;@[F8<@C#DRRGV*2;(VK_[6)3U=BU8?;%/%9DUNUL<1@$S1%]
MX$Z:J?!DP6N+*M$%3R\R&7<.JW7MW5G81(V:4*G.Q?9D/"WGHT*V6(1T0'MW
M!A2^&8^L#H[I@W!=:A1KU'P6CKC]OGL$/4G535S#5,UFW5&^D*DU8.+RL>]G
M/LK/*PI +]]KR!&T<-Z:@"MNH$XJNAQKO*YZ6=U33-L+W->G]COCT7@M;2:9
MC#,T!#ZU%M*]H>OWPM>G\$]BD&]MZZS9OII@H4GBQ'\>^Y38=2KF2=AU*_&L
M7T^[0&_E!/Y9N$S\0ZP1C]O!=U<AA83\*#5G)S7=@O,H$)FK^N#9,8G'8GN+
M/4W(CN/:Z_C@H!F=G-GC$U[#,50>CJLO?@K@/;"9/=V?"8$'YF75?64&V4#M
MV.U@K.QNM=W#_!X%OYI3BIHREO*I@& =3$[E2R%D 7S8)PTZ*Q7*9\B5KB&Q
M<&C5?$U<BU)Y6"B6>T,2WT0\D!C^0/Y18J_Y3;9)E,Y,]=3?*AD"3?7MA/>B
M#8F9O%(38U6UH!;+P&(G"1# QT<B'F\#ORP<4_4?AT;9]1!:A.J @5!B\I^Y
M/?8>SF:FGX&+"[&\U*?[4\(A#A<P&Y#-0BT*Y]K$6 0-<=[J\-1TJ9UH-GA;
M@$ ;=E0M<&PA=0M0A06X)8K1:H?^YN\N[!.ZW-!,<'4N%I9^(*@3<+&P^ /^
M9KIFHJ\./-\&SYR"L7P4TN/G%(R9?HY=5392L+;*?QS;TZ&F_W154X;X\.J9
MNQ [?O'CK?+8L\W 5Q]C<@S[QWF/*WXDD@%M?_KYE\GNMX\A(L&?2?!@)B.1
MX*\A>.P!?S.-@B2/L.9K"1Y_X)#@KR)XY-?\G>1/<C+_7>_RMBDH/M/OST+P
M;4OB;$?P\0?ZIK@XXES<94D8D%X<T OR 3OM!L._58RC"#H0:-ZX<=P;0TD,
MCW=$4 +3E_<%E_>F$5M@O"N5P-/GX7.Y!% VY,BU33->>(A=?7624!>.:4<J
M7+>PU*GN>XGS[KFZK(-P[>I1;R?G;GX#V7LY+K0_[,4BEKBSI=;6MIXM80F!
MZP*L.; Y3$RIUF:A&@(FU$O-LE"LT#E?@VW\\8NEDAAV6>*6[V:@;V>T;MY
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
M2EW+T!P;K?S*[D9/;7-OFZOO-3;QVE?_?ND**Q(6COH^ L"?"?!L-'S4V1@
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
M.!(Y0<E;E@^S1]NR!05 SU1YE0LS\0#P9P2\C]]\@-_?@]]<4$L[P.^;!W.
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
MBD'UTP%UU,A9X[%RS1$9(*AD@#ZH^SG$?M$U0I]X9A$DEES"9]ZS824\)$7
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
M/P)8:#V$,23P\<,)G684M^F9^K .35[F=.&+1,2C;]"'^U09"NM9X4;#)\U
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
M(^819#J3?Z;4^M4=3$/R["#A#E9.=:)WWIM0:8U,*X$57V%D83&=P,^E#G9
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
M;_GXFPFO74D165%9S.A+A/UFP*T'^"O8;P:S^I:/OYGP^X'V(#+[-B_C)U7
M6+H',1%9E0&/H5PH"6H7U+[FJ7T)4'LVO(VE:EX6^7UIR^^[ME73Z>F.HUNF
MR ,0.7XIXQI*4211K=XY*%+\WKG_N]B0]UHBI\CP6Q7KE 7K7+UC3R3X36:=
M19$M)+*%1'Y?=KQU-7FQ^>*"8C=DSR*_;V7^=661))LQQUIJ\_MV]1?=$,'Y
MQ>;V)5A%<X6Y?TGO<L$,J5PN)Q("V#0"4))MF;"ZY,&,X[]<KDYUR0C\_WIV
MX9KC/W<Y9IT "J)@YK+2$]>< .HKD7(+QO]*H3ZU8HG(>!(93XGD-ZXYL^ >
MU8QS"R5?%[Q"\(I59T>N.Z\HKL2!M'#-NIS(Q9^,.8%7ZNOUSU"JT/&N+5>=
MZ/==2^-F 5[<(A!AR_*:!DF&UTPLPKH(1VT"&UDT.\E5R]--%8&TDSVO643:
M2<[5[.%LI21/59@%QD[VE6818R>Z0[.'LJ7*@LO<K27*CGLWLXBRDQR8V<-8
M.5<OED3JID@$^V+J9O;I>*)O,7N$K%1%A55!QE_-YUP#,I[D]LL>&6,/A&E=
M4];-O?<?5X736=E",C4M137=A%'=[6)E=!V7Y(68'I%LHED=$UYJ26W;ZDFF
M96[MZZ_PYW=5>S*LCM2WK4>BN8[D=*V!*:E-ZX5(JDVD#C&)K;KP:',HG5SM
MA$^J9BO\0[-Z?8/@8QXLQI9<6#=]H@?OVKIJT#\TRW%A,7JOZ=D.'K+4-SQ'
M:A,"/YFNK<)0.<FR1V:F:W:[1')4>,5JX\..:WN:JUMF, .\Z7A:5U(=R;:T
M)SJ,T^^JABNYEF1YKJ.W" RCV[!NU<;JF_DY((\-<[:ZK+=X>C%@QY5.5!N@
M4I1S$O9V!_!Z<#SHIY;B*#  P/TAY^M%"=9J &1S<%3 AQP8&=@#'*"DFYI-
M5(>>P1]RM9PO2CW_60 WJ$V%/W,4%^  6PAV&+!:\0>45%?:(QKI-0%#V(+D
M>CX2_EGGDXBM@[V)G[=U. E=8V/%6]4CM?'#F7]QV0#2-1!YVS(,:X 81^4
M4BXNWI&ZNN-:-DHZRHALSMS:@'G('/HJ,)>V#GSKV0/R)K8C_:6;/H(Z?V\G
M<[0S0H_MS8_<,0U%@YVK?8=L^Q^BRPAG97JHZKF6_P73QNDW7)BS9R+2G3^#
MWW"'<.%/7+IK^XOPD8-M:;;X6KF6EZ?>_6[I+Q/&!^%BM^&0?0CY?U.59[L)
M/.9I:P P^:=O.3HR^6V;&*H+9SLR)M?IZ,3^HVH3E'//)8$MQS:Z:+$>>1!^
MG%7)@;4'_WY>BZ,:(=N6DI]Z 5C ?4ZXTST4\P4!Y55@MUS.UZ8:*0+R@J]D
M$NZ"KZR:KPC ?QWPL]S!I6KH7$KC\O9>^\3>/TBNF[;-+S+75.T;=HE?_M^W
M\K>%PJ!8SU<KB>9BUN(N60V,.&*/@*T9&S1NAU\P<](8,D\%V)[L _>N_>]_
MFI^\I9YV"AF#P1J13&T4#NPLQ_^=3 S*8HE!KN5KI4P1 [KLXAB?M0.?NKWW
ML:'Y#GM< D8D>PEN?HQ0"I_G@;-4ZDB"#>[KMN-*G,4O/*M^=;(_F5LE,UDS
MRXH&+^ID/G0VI"(*K-27>%=,X&E&\#3]:%HM3+A3\,EK.TDP_BNB669K&N=?
M1\)9,7TDE,N4.>9>+-7RQ<5M>OFH^/Z=S8W$L$01;.X$JXRHYM<T54>HYNE6
M>59]ESU[O+Y261-%?DD7]Z/.XHW#WRQ+DE4+C'W+L]VN4.FSQO_7D\V#2C^M
M\^$&H6*VN?O:,_'Y[ELL/C5V&>N(Y%)C%KOAM0C>8("#U?OTCL&DC&(3AI3<
M 3%>B-2#V;H.3U:_(Q)Q7!UO'L1>;*H.#&69T51EUR9FR\G%)G.(ZE@F_*CW
M^JI_E\(?T:$W'#P8H$=LJ45Z^&,PLFZV\3(/O?E [T5@.K__=,HN-+#$D4C^
MBV80U48*ZO[3TIV^H0ZW*>[Y><P\W*54\\4R+@"^X@LJ%O(*?A5/DHD,'1MO
M2R.&,;T(_%QI-N^&RY12I"00 UQ1'D^EP7__^[]BF4%C*B0/]$5 QD&A4)[2
M(5LL\4AMP_S;JC%0AXZ?VBWGY>#6XG80+"SBHNKYDORG%'Y$((R=4T]]W8K
M*993SMZ*9Y7S[S[(?N*'[%K];47.5T8.N#)VN@NIS52,B&U5ZMJD_7_?_N?:
MTB8E0,PZ1>3V!K]9%PV+\J\B.()P0W\&N\[0EG;A:4 ;)Z 5-;X8'P/*E:(F
M1^RLV2AK]/ FG4I2=S?P-IE#693/W1BG]5FQ.GH]"6^9V:1OV?Q]TNG!;(N[
MR+%X)K<>%SFJ<KX^M=N)R(Q<1.)O*2^+Q-]E0OE]\ZDBT'L5@)>K'[0@%I 7
MC&7U4%Y(VNZ'0G3]TG9G0KYT;WMIF9SU!3N"YDW4#!+7@TOE"TCCS3H"",+?
MS'/?',)_+T#AV]Z,)X !_DZF^R9BQR*Y0L*I_+/+@\O S\)._HHY6[:7>KUC
MX4B1M?L=]4A!N6Q>[Q \8:Z<K"24A7-KL)B4N94<VFJS<#YR%:7^FL!''I=4
MI$?4RU,3GM<.3S^9+I4(D]#[!.,AGTTJ2C.8E^8@SN2FLL$*:M-90591,4OZ
MPHV+F]*)LQ&\.),ZP_*3K;/!+2K5ZD+3YU./K2G4'*YMU71ZNN/HEKE.+%MH
M#]GC!Z5"]2O5T5./BUE2'W;U%WUBV\.U8\;+4AW6L0'K."O)> /6XM2F2&N'
MZVE3/(+$:EEA6L@GFZTF O#11<:@'TW[Q-<2U$TRVLWE(QZ2O6XN<DZI?*GM
M:K;1=P$WC;+1PN#S?1XH'Q.='OS; JPW29/?$/AKI$\-]HN)W"#X._?.C0&5
M7J/"6UR\&\06,5M2B]ZO8CUNF@0F%S<+0AXR?K.@G)=+"[A<H"AYT23B$_SR
M:RG <KY6%U!>18I[OBARKU<">#E?J@C(KP3E!:\1O&:C %_(BVM,@M5L%."+
MXLKD2@!?RI=* O*"UVP2X(O"0[ 2P!?S=<%K!*_9*, +$TJX:S8*\H5\0:CR
M<P!^(==!/XJ"I/CJVSS;_DC.I7O;2[L&JN2K2TB6^>BB9[KPXZNJ4>)W8%=_
M:UC.EY>0]R'094W1I4R;" IT$>@R([HHRZU9+=!EG=!%Z"Y?-[4R!1MA]PB[
M1_".[(J:%<-&6$,"B=*+1,)&$D@D+">!1*M'(J$3"7OJL_:4J"JZ="=-]EPR
M&2HK>C*A]+!2D.L"399O.&4(37YZ)N<CQ8+ DD0MHPQAR17INZ37)+9 E95$
MCC*$*GM$BV**$#U"0_F4AK*@8NC"W/E$D:0$(DB++9B>=.QGM17,/DJH3GW!
M](_RDE-1-ZA<KN9KB9RFP-T,X>X'UY)3@;JE>DV@[C)0-]M]*CZZYIH*W"V#
MXEH0N+MXW%VV1K=<W/WHVF1*<+<\M="@P-V-5!DRH>Z6RL5$=(;E&-R+P=U/
M%N!-PDS^8LN@;'"(]#&"%6PJ$]RA4J[GRXL\28&>"S_(]ZO*KZ.-6ZM4OM+%
M:M,P<KG.[<0P,A.F:ZU<^DIGE$U#R27H3*M R4Q8I+6*(KCDQLCM3*B2<JY0
MD*=VE%MOBS*M$=G%MZ3,!K=(MYMJ$6QDLQQ9M<)TD2><L *[,VOU5FN*B#!D
M)+*;*N3.A %=K90$Z\Y([#=5V)T)6[Q:+8G,!J&8K*G:7441D]GX\11@K%=
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
MYG;!W#C&M'[)7I]&V' ^HLJ\2/G8 E]$^CC@^5VAXS<N2@1 E7[VXR2U?L]
MW?)89/<#ED9Q>@B[.^77+CQ&3S-&\L/TWH"(^HF;)8F44(#Z<6*QX5!F!Y/$
M:HRI69, \\T*F75:SQ/:*PUEZ<;N1^L<?(OT<6=D=PGFO> HWW7+[N5P>#Q@
M 5G:R8CSU$H!$Q(,:$1A<B#27*+#>1[&/%$*^2>W*+T&Y V, !<L((:5<S/<
M9!K$*E<$C#*0S/@1UD<6B\#^($N Q@0LBA%+Y2XZ?AT<EMO$"J,45EL,*XNV
MV(>8@0_>#BX\6&6E%U+*P8C=<;AI#CG#(F15$&;=^^G(^N/B/+$MJK/+8TOP
M,AAS(FP=32YJ5C0 RX@:[<.2PMA@(/X8^1,Y"!A< !X9AU_"!.PFC B,81G&
MN" 7,\K>15UOK/M#MNZ?6.:GZ;SLQQ'SK("GJ33WI6$&<Y2D+/1DOO112T\V
MS0!L9.@7?,OD29M.K$  A=GG8^%DEA1Q-1]S>F@%N;!X,/M:R_2)N3\>(+KD
MV9AL+!+#:7$"(8_T0%#B^#6B6<()'[%@"+9E!L-F"?P=\J$/:C2FE P:!SD]
M/!@>#S.*71>D3.+H)F9C&$8I94B$=6#B*'P-_]9RS,S+*8!FT.8T2/S6) +]
MS"0?-#848YQQP[(!8 V5?&!B.HSY!M0[ YBF%*TASCS26(Q!?1W8_LL,O^%G
MAO$GY$D4QP(09<(4P87VH&EOA3)-SUC(/!]D6G[ZF;ET'S*'BFSG3O,]QVF)
MV7V(,R(C6L4D/)($WBMPE3SS1*Z8G/,\@"88AW]-L[%&%,*3QNQQ]CDN( OP
MWAT!'-&4<1:',/RBSK<D7[9UFM<->W)[:+&118/P(M)L18(<"*9/:6F!?\NQ
M^@ROL/"QT!MNP'Q8/?>PJI#J,?/4=,Y*2N6>]XQ.*66?JM1@W;8XSO.%32&;
M44TO#CQ=/&DW$CA)V[$V;SE+75& K$)61%" L('O(5!BJBNL']14@RCTR%0%
M< PYV7O"0$QX?.?C/@\MRWNNMCIA]3^I)8]ZC;ZF!=%$UK0DO4JF];\*0@#C
M*=Z?\IPX@9!D"<.044_-H(BFRP0S=!MT4:"W(B]D]4B>]J3B1@,3!B:66[!G
MN6NJ;"1PQJ0QQV*Y5\8)%U1M-RR9 <PBW$463VZ;"AC(0O3S*"5\C$ "ME]*
M^[\U:=)H-RB+3BU*LK?\09;2HAR#D^L?<T">Z!$6X@3,.G62VXBS -XE;)1@
M2(2"MXCF,0:?GEZ:IK '"WM:IK#'%/;L6&&/T3XOUS[[IW;&Z+819-=$SRV%
M_!0QI,@#QT@(V$3@:89A1N5#B/>YZ3K,4O3RRW>Z\%WR&?7[P?YURU^T8K#U
ML)W/!/=K(V$_IU$*QE^8C0?"321-9DG]PQ-9*I^"J4E&(@O<3$8UL;B*Y\_Q
M^!B#').1[Y+-BN5->LJ)C**>RP=CG@D,B,("%W3ZNG6%&5(803AU*<7 Z7=;
MUOOSKQ=7IQ^HA(N-15*@=/]_)4UYKC3E%ZDI3_%;0M/F#^K5,70S$#5<2K=*
MLY_276!HY3X HBKL3N8_L)PCL=QD291W@!Z(&"@\ VT!C%)0,!?O(FM:QH.>
MT.PH#Y(Y:@A?8J!*.!ER"(UZO8.1(WA,"***3Z1(=!;(-F/3#T<ADZ$"%)>
M)8D_]$5K,;FQ!&Q"PQZD2FX3U=0G"9;N90G(WISOP,ODUUR8+5S$\B,8Q)^Y
M\P%3B55Z)+ZY&Z*QAV)?%,5XFBL@,W\6=^CS0\%U6A%BHD6AN^K=,'^-D.L3
M\AO"7J!+-L 32;RXM2#BCZ+-'ZU'ZN8&;_% *$T#JS>C5_;6JREOOXDE)>*N
M4]Z*BC(7*"_RJF7L@I83PANLQ>(<:1%M356$((]4^[&;C:6W(WP3>A;&7' %
MXG>8:I5(28JP*B,*-V0)%Y@AXS-R^TS$6\?L5@MFS]DIF/:K-MQXR*Q2LTJ7
M.1J?9S=X*!H)DAWA@5;%5DQ2;"WEUU0U?6E7>39@47EWH9V-Z*\[[>.<\G2(
MR1?A,"B@CTY=Q>GX$F.L]T 20!;G>UR"F.G&$!A4(H])&.#*VB);>4)LP>H<
M3F+M,K4EZ^=\Q$X*]"$'#1"-?=<:BBU)2LY@:0K**%4;;7>X=Y7;C5[Y;<)S
M2D1B,@/$JA75%#4P_GA DZ8"VV@&QU%V,Q)D6CP!Y!$TD;Y+:'RHR:1&&[-_
M1=HN*%(^>,P3-M2JQ*9*8R*.$UN0&EK"!:W4+&+@>V+S.Z;WXZ]HP=]'\:U\
M,NELO$YJ&P-0 (;'^*]&A-AL4!W%9'\Q?6?7MKY%M$E0(X30IDXFOJ!_R,.<
M+;D%7#A4O)#_.=/[FA2PG8449OG>C^^NF=?K#9N\>]UHM-SK5KOC7O=[_?IU
M=^@V.FW69?T6!JHP/B3NP&RZYN\9RFA*#@5,"/P9R+\^^8D;1$D6RYO6BUQ/
MF(.4\=<$"TNGDR1'H]3*20523@=@%."NU2U/K:^^ +I%B'DHF9W/S(5[>NNQ
MM.V(F,D?)E$B,P@H;8VB?\K$)4;#(A89(8DMTUS$-XL*1UB-089V>9!A)"95
MB 5V.M <2F?;!2AYD(8V17IJB"C@NP-4BL@/SCVEGZ)'JY:U,L 3SF\%52&[
MX=*\%I0H ,5!9V*@PSR-%#'Q3L@2[GK$F4S9$4/1+M%;\J$\27J!>4AN:016
M<@\6<:5 M).Z=W'*[T6))3A#MH7)OI<4R;B+@CM4)C)Q9BC3:XB95,$31##&
M 9X1D/,6HT36'4;XT!^AQU+C.I+=1*8>^7->^Y2!^TABHA3J? G!6T;<NQ')
M1/0NZL84%924Q5<EU$SOJA\Y[;K=R;?3I8E<'HXH6])VV;&$6%DBI R)%,^V
M?E9!S14>PN;2PRS'KG^?JU#4\JJ#.B[:J34IMN2E[(N8;_$5X KXX!P5-)N
MM?) )@=0>U0OSB$XA+J"9P)P$6?D#]REG5,M$1<YCO*W#*-$WE;,E'V63+@(
M;M]1+T<2?H+'H@^9%E\IO5&$53"7D,?%[K$*OQ:$X-O]5 7\X?_6F%.D-K("
M?PSK53]_(E\3]'0,ED:AV)M^W*TYEU;4L%?OM3NMUG6CU:I?MYQ6\[K?!RO*
MK7NLWAZX?>;49ZRHUID(""6PIJ@ UD-3Y-JI-YVN\RKS:0G6O\R>:H$]I2@F
MD,QI7FHL'8K?^ PZ9M77'+X4%N@3G'TS56[S]=N]RF7V4/G07M0="X096-,B
MH^ =8C):GBY"J%&J_-8+YX29)WQF892I J6SD<^'UCD!*T+AY1#P"-[Q7F[[
MG)U?RAV?#S(Z@M\OZHIFOO\Y_WY-9;,)5Q.>3O4=*L6-(_K1,W/W59$KG^45
MLN+JLC+)927?IP)T)7^<C!X?MSV'M"\J&':NS$W<8/M*VVA.DQT[[?=<C,II
M>^*O]90^;5'*?BZV;8$MNBS1[)]?BEG]?(DL)FO=(U560SMQ6CAIWI9.BLC?
MSB?=$LGVV#PGB4+1D3U1R?(!O^-!J3TG9D"'E*@N=K&UK.Q!_G81QLCR"%%,
M^9#X9E"_ 5EA239 %5NLF)(0^(G,\>9>39">)/BK?BP3[<3C<[E87O)=9 &+
M?J<)61%BJU510M*%]^(8<FF_.C^KJ4;TV3@37J'RT+(03 #I)BY9K<5\B4UR
MM!/!M6,BG8QAT1(1B)UR@#(1[HKY#8O%%K+B9C&+!R?Q%Z'$%C+:T;.10B]C
M><L%N#8U"R0J\+R_Y-H@Z^S)>T/TJBD/?P23<<^#0-(C9UR@'0H;V'WY+EP4
M4F';G"6"N04NH.Y=/@!X&LZA:>.=9_NU3;:?R?;;L6R_JB'U"4=%;;%'E/ $
M[Q:)R2"W !J(@#JJ"'6+B*+@90;K0HZZ4(0B,6ZB*V!0-QB@!$7[K\R[$1VT
MPVE\Q=V:8YD_4*J*I7,(H@040_ D](+#A9&M%8P,D4 G<15SNR20KH2A/G8L
M(96KL:WJW<<M]&D0%13S3[1=R3T[*PX&I<AC"":^]-.L2]RH*RQ_48,"#-W
M29T8%L$?H%O5T:725O(5E?DZ0"J+&$RLJ 0!P?B-*Q+*E,DGXS;:/IG:]Z3<
M-Q9K O68%^5%LS?4GDG-<_KP5Q8#?V;A_U3-S<;B#.T5J6H_>^NOU>HZ]0YO
M7[>]IG?=ZO/A]<#K=*X;36_0:G9;K-$:E()67\";OKBXQ+WLB\(KN>YW>JU^
M;SL!JW<_(5'6Q85M$5U60=C2J%2X<U&I(C;H_ )N2B#;XF&E[;73;7>Z:^/R
M-%:^+$3H@,8BPJV"\K4'!Y>?;#S7A1:5R^#Z8J<:=('S3JT ]Z(A3>>9793
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
MMN5F8Y@+4?_O?*3]?E]]ZJE/O0C>$T:IQ283SBBI @'U J<4<RC U/W$4@9
M&G!KP%V6)?"8-!%O2]F-V)#%) %@EF?=^^DH?T9!5OX^BF\<EF ;R-WV EAC
MP<H^"" BZ]79?QK!6BNR?F,/41B-'ZWSAY2'"5J?5^Z(CUD!M0;<C SN#OV'
M(8 (;F>GOQC!VC2XG;' S0+A9O_BA[<#S \U4&>@;@?I/PP!1*C[Y?1G(UB;
MAKI?V( '!N0,R!F0VPC(??EZ;@1KTR#W)>8)3(HQZ S6&:S;'-9].O]L!&O3
M6/>)#_W0-TAGD,X@W8:0KF6$JG+ZSR)XO?6%W3RU(?M^B#DS:2J*8750Q$)[
M%Q[-X(J'N[JR8M("G30-?ZHI@^??/9]FNZ!:U0]J5X!?XD_X7;5%L)T^'W^<
M1 D!]$G,,<AXQZ<J535BYB514%FB>B(R?^9Q]&J[P_-N<VV[KBH=3\(HY#FO
ML9(^LNI6'=_[ [Q8_5RM;%<^DNY>O)!Q$9$$+>IL4JTD+9B3=S^5-&%!]J9>
M_YFJN$<\YI@U8#\AE8<_"?_^86Y/PHU-0Q:'?C):82HJ4#"2N25](J\]#=V>
MGTP"]GCB$\ =#X+(O2T] N\I31XN9('I+U !LH]$W>L./>[UKQO]EG/=JKO=
MZUYST+UN#WM-SNK]%G>\=S*)D.!"@RPWX"Q&?3?ZJ(@G'D[-1Z-K-]ME>&S6
M[49[,EVWKSVZ]+QCEP?!PG,"U!->W?*H7*G=:&GM-<64-;M";#0 I9]__]M*
M8*ZQ3+*B0<)S Q,><W9[S(;P_A,6W+/'1"EA4":][XO%+XEK(E%]N^5\;Q6_
M%N"N43-F#\<:GTJB*NXJ=U20UV:4S;NII^9+K %FSM0$=V9FMY(^I\UB)O(D
MWN^^1>X6$G:_$61'0^L,O@UBD^@)MSHQ2@+:G:;K?"QZ16KFV(*5-3UY\V9%
MK.6KB__X[?3;/[^>7UWW6[UZO2/7;<6+0G)_4?N"G)*E/5VN#K&GRY<L3C(&
M3C@87*)5%35_0K\\$7U<N'7%W2R&F837G#^X(Q:"^7OJ4IL7I]]LU:8ROJT1
MF+Y>%CQ:E)SHB5XPL>@ (QHC)3!5\$$44N;B@(]8,%2IX]0J27R!GASS+(2[
MZ(%%AR73/6:Y896[1NWZ'OMU:R?^R]>+7R^_7EQ95^=?_[@X.[^RSBZ_?KG\
M>OKMXO*WE\4%#,.W'II9QRB>BLRL&@A\HKW8)Y;R$\OZE3U:+760T\NF;:M'
M&_V0_&#]-P]#GHZL7VWK4^3=\'!W)N]PUH]A\B:(]TO/$#:WGP(=[D=L=Z;J
MCO_ )I.XE>LC!M2>+'/[QP]^=<;C0MK>?XE]>/<$7CY#QH><C*J""=NT:A>8
M_/-[5V)@<JUD54R$"6-@&*.WAC"&;HV+&$+)'"]=PK!!LSXW]G$7^=X3H8\B
M=#V(O$?X9Y2.@Y_^'U!+ 0(4 Q0    ( *>.I%""R@[Q)0D  +E,   8
M          "  0    !P<FEM+3(P,C P,S,Q>&5X,S%D,2YH=&U02P$"% ,4
M    " "GCJ1095UH:BX)   N30  &               @ %;"0  <')I;2TR
M,#(P,#,S,7AE>#,Q9#(N:'1M4$L! A0#%     @ IXZD4+/=&!]6!0  ;AX
M !@              ( !OQ(  '!R:6TM,C R,# S,S%X97@S,F0Q+FAT;5!+
M 0(4 Q0    ( *>.I% U  %U304  (H>   8              "  4L8  !P
M<FEM+3(P,C P,S,Q>&5X,S)D,BYH=&U02P$"% ,4    " "GCJ100B/7VYL2
M  #0S@  $0              @ '.'0  <')I;2TR,#(P,#4P-"YX<V102P$"
M% ,4    " "GCJ10RWK#D0$0  "K[@  %0              @ &8,   <')I
M;2TR,#(P,#4P-%]C86PN>&UL4$L! A0#%     @ IXZD4(2[)SI,*   VXP"
M !4              ( !S$   '!R:6TM,C R,# U,#1?9&5F+GAM;%!+ 0(4
M Q0    ( *>.I%"#DB4DNW,  /IG!P 5              "  4MI  !P<FEM
M+3(P,C P-3 T7VQA8BYX;6Q02P$"% ,4    " "GCJ10)QGTF9-)  #\104
M%0              @ $YW0  <')I;2TR,#(P,#4P-%]P<F4N>&UL4$L! A0#
M%     @ IXZD4-A0:G7Q-P( %_T; !4              ( !_R8! '!R:6TM
F,C R,# U,#1X,3!Q+FAT;5!+!08     "@ * *8"   C7P,    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6643308896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;6&#8212;Goodwill and Intangible Assets</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;text-indent:36pt;margin:0pt;">The carrying amount of goodwill by reportable segment is as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Reporting&#160;Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,194</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,194</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,415</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,312</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,312</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,150</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,150</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 215,103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 215,103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The table below summarizes the intangible asset categories, amounts and the average amortization periods, which are on a straight-line basis (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:8.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted<br/>Average&#160;Life</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:10.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Carrying<br/>Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated<br/>Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:10.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Carrying<br/>Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated<br/>Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:7.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Tradename </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">9 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,040</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (13,714)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,326</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,040</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (13,216)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,824</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Customer relationships </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">17 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (26,128)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,872</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (24,353)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Non-compete agreements </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">5 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,900</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,653)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 247</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,900</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,580)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 320</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">3 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (260)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (237)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:24.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">16 years</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,215</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (41,755)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,460</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,215</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (39,386)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,829</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Amortization expense of intangible assets was $2.4 million and $2.7 million for the three months ended March 31, 2020 and 2019, respectively. Estimated future amortization expense for intangible assets is as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:66.89%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ending December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expense</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020 (remaining nine months)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,448</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,416</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,581</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,862</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,460</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6643713424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Basis of Presentation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Basis of Presentation</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;2&#8212;Basis of Presentation</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Interim condensed consolidated financial statements</span> <b style="font-weight:bold;">&#8212;</b> The interim condensed consolidated financial statements for the three month period ended March 31, 2020 and 2019 have been prepared in accordance with Rule&#160;10-01 of Regulation&#160;S-X of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;). As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form&#160;10-K, filed on February&#160;24,&#160;2020, which contains our audited consolidated financial statements for the year ended December 31, 2019, have been omitted. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">This Form 10-Q should be read in conjunction with our most recent Annual Report on Form&#160;10-K. The interim financial information is unaudited. &#160;In the opinion of management, the interim information includes all adjustments (consisting of normal recurring adjustments) necessary for the fair presentation of the interim financial information.&#160;</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Customer concentration</span> &#8212; We operate in multiple industry segments encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 50% of total revenue; however, the group that comprises the top ten customers varies from year to year. For the three months ended March 31, 2020 and 2019, </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">approximately 50.1% and 49.1%, respectively, of total revenue was generated from our top ten customers. For the three months ended March 31, 2020, one pipeline customer represented approximately 11.3% of total revenue and for the three months ended March 31, 2019 no one single customer represented greater than 10.0% of total revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).  Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6791145920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Noncontrolling Interests (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestAbstract', window );"><strong>Noncontrolling Interests</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock', window );">Schedule of joint venture operating activities included in the Company's consolidated statements of income</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Carlsbad joint venture&#8217;s operating activities began in 2015 and are included in our Condensed Consolidated Statements of Operations as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri';font-size:14pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to noncontrolling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 989</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock', window );">Schedule of the carrying value of the assets and liabilities included in the Company's consolidated balance sheets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the total balance sheet amounts for the Carlsbad joint venture, which is included in our Condensed Consolidated Balance Sheets, and the total consolidated balance sheet amounts (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.89%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Joint&#160;Venture</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Consolidated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">At March&#160;31,&#160;2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amounts</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,026</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,474</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 416,412</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 359,370</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Due from Primoris</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 258,962</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 176,847</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">At December&#160;31,&#160;2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,124</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,286</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 404,911</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 344,806</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 425</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 192,397</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying value of the assets and liabilities of the variable interest entity (VIE) included in the entity's consolidated financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of operating activities of the variable interest entity (VIE) included in the entity's consolidated income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6791239520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Reportable Segments (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Reportable Segments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of revenue and gross profit by segment</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:59.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:37.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196,193</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">26.4%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,383</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">22.0%</p></td></tr><tr><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">25.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,814</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">20.4%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,170</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">19.8%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,206</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">22.1%</p></td></tr><tr><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 102,784</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">13.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">17.9%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105,573</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">14.2%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,712</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">17.6%</p></td></tr><tr><td style="vertical-align:bottom;width:37.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 743,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 661,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100.0%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:94.5pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Segment Gross Profit</span></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Gross profit by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended March&#160;31,&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Profit</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross&#160;Profit</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Power</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,682</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">9.5%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,198</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">13.9%</p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Pipeline</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">8.6%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">11.1%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Utilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,602</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">3.1%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,241</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.6%</p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Transmission</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1.7%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.6%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Civil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,322</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.0%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,377</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2.0%</p></td></tr><tr><td style="vertical-align:bottom;width:41.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.4%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,460</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7.9%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:94.5pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8721-108599<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6803627888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Dividends and Earnings Per Share (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 22, 2020</div></th>
<th class="th"><div>Oct. 31, 2019</div></th>
<th class="th"><div>Aug. 02, 2019</div></th>
<th class="th"><div>May 03, 2019</div></th>
<th class="th"><div>Feb. 26, 2019</div></th>
<th class="th"><div>Nov. 02, 2018</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_DividendsAndEarningsPerShareAbstract', window );"><strong>Dividends and Earnings Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Cash dividend declared (in dollars per share)</a></td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAbstract', window );"><strong>Numerator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income attributable to Primoris</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (3,737)<span></span>
</td>
<td class="nump">$ 1,947<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares for computation of basic earnings per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,588<span></span>
</td>
<td class="nump">50,770<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements', window );">Dilutive effect of shares issued to independent directors</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">410<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average shares for computation of diluted (loss) earnings per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,588<span></span>
</td>
<td class="nump">51,188<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract', window );"><strong>(loss) earnings per share attributable to Primoris:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic earnings per share (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (0.08)<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per share (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (0.08)<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_DividendsAndEarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_DividendsAndEarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of shares issued to independent directors under share based payment arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAndDilutedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1500-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6780782624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments - Derivative contract and instruments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems', window );"><strong>Derivative Instruments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Liability Derivatives</a></td>
<td class="nump">$ 11,414<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,443<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest rate swap | Interest expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems', window );"><strong>Derivative Instruments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLossOnDerivative', window );">Amount of Loss Recognized on Derivatives</a></td>
<td class="nump">5,435<span></span>
</td>
<td class="nump">$ 1,596<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest rate swap | Other long-term liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems', window );"><strong>Derivative Instruments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Liability Derivatives</a></td>
<td class="nump">$ 11,414<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,443<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=118260190&amp;loc=d3e13433-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLossOnDerivative">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the fair value of derivatives recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5618551-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLossOnDerivative</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_InterestExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_InterestExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6647697040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Contract assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Unbilled revenue</a></td>
<td class="nump">$ 268,282<span></span>
</td>
<td class="nump">$ 251,429<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractReceivableRetainage', window );">Retention receivable</a></td>
<td class="nump">78,216<span></span>
</td>
<td class="nump">81,393<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryForLongTermContractsOrPrograms', window );">Contract materials (not yet installed)</a></td>
<td class="nump">12,872<span></span>
</td>
<td class="nump">11,984<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract assets</a></td>
<td class="nump">359,370<span></span>
</td>
<td class="nump">$ 344,806<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent', window );">Increase (decrease) in contract assets</a></td>
<td class="num">$ (14,600)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in contract with customer asset net current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractReceivableRetainage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount billed to customers under long-term contracts or programs that have been withheld because of retainage provisions in a contract.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 910<br> -SubTopic 310<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118388040&amp;loc=d3e49370-109356<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3(c)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractReceivableRetainage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130533-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryForLongTermContractsOrPrograms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves, and progress payments, of inventory associated with long-term contracts, expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryForLongTermContractsOrPrograms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6803639280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life</a></td>
<td class="text">16 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">$ 109,215<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 109,215<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(41,755)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(39,386)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense of intangible assets</a></td>
<td class="nump">2,400<span></span>
</td>
<td class="nump">$ 2,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Estimated future amortization expense for intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">2020 (remaining nine months)</a></td>
<td class="nump">6,448<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2021</a></td>
<td class="nump">7,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2022</a></td>
<td class="nump">6,416<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2023</a></td>
<td class="nump">5,581<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2024</a></td>
<td class="nump">4,862<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Thereafter</a></td>
<td class="nump">36,576<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Total</a></td>
<td class="nump">$ 67,460<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69,829<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Tradename</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life</a></td>
<td class="text">9 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">$ 16,040<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,040<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(13,714)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(13,216)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Estimated future amortization expense for intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Total</a></td>
<td class="nump">$ 2,326<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,824<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life</a></td>
<td class="text">17 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">$ 91,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">91,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(26,128)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(24,353)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Estimated future amortization expense for intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Total</a></td>
<td class="nump">$ 64,872<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66,647<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">$ 1,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,900<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,653)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,580)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Estimated future amortization expense for intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Total</a></td>
<td class="nump">$ 247<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">320<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember', window );">Other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted Average Life</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">$ 275<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">275<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(260)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(237)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Estimated future amortization expense for intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Total</a></td>
<td class="nump">$ 15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 38<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6801711296">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss)</div></th>
<th class="th"><div>Non Controlling Interest</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2018</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">$ 144,048<span></span>
</td>
<td class="nump">$ 461,075<span></span>
</td>
<td class="num">$ (908)<span></span>
</td>
<td class="nump">$ 2,763<span></span>
</td>
<td class="nump">$ 606,983<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance (in shares) at Dec. 31, 2018</a></td>
<td class="nump">50,715,518<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity Roll Forward</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net (loss) income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,947<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">989<span></span>
</td>
<td class="nump">2,936<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">374<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">374<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Issuance of shares to employees and/or directors</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,661<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,661<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Issuance of shares to employees and/or directors (in shares)</a></td>
<td class="nump">127,384<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition', window );">Amortization of Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">487<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">487<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_DividendEquivalentUnitsValue', window );">Dividend equivalent Units accrued - Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12<span></span>
</td>
<td class="num">(12)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distribution of noncontrolling entities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5)<span></span>
</td>
<td class="num">(5)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Dividends declared</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,051)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,051)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Mar. 31, 2019</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">147,208<span></span>
</td>
<td class="nump">459,959<span></span>
</td>
<td class="num">(534)<span></span>
</td>
<td class="nump">3,747<span></span>
</td>
<td class="nump">610,385<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance (in shares) at Mar. 31, 2019</a></td>
<td class="nump">50,842,902<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2019</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">97,130<span></span>
</td>
<td class="nump">531,291<span></span>
</td>
<td class="nump">76<span></span>
</td>
<td class="nump">1,028<span></span>
</td>
<td class="nump">629,530<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance (in shares) at Dec. 31, 2019</a></td>
<td class="nump">48,665,138<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity Roll Forward</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net (loss) income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,737)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="num">(3,734)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,737)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,737)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Issuance of shares to employees and/or directors</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,174<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,174<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Issuance of shares to employees and/or directors (in shares)</a></td>
<td class="nump">51,268<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition', window );">Amortization of Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">499<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">499<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_DividendEquivalentUnitsValue', window );">Dividend equivalent Units accrued - Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4<span></span>
</td>
<td class="num">(4)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,393)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,393)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of stock (in shares)</a></td>
<td class="num">(461,831)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Dividends declared</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,895)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,895)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Mar. 31, 2020</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">$ 91,414<span></span>
</td>
<td class="nump">$ 524,655<span></span>
</td>
<td class="num">$ (1,661)<span></span>
</td>
<td class="nump">$ 1,031<span></span>
</td>
<td class="nump">$ 615,444<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance (in shares) at Mar. 31, 2020</a></td>
<td class="nump">48,254,575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_DividendEquivalentUnitsValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the value of Dividend Equivalent Units, as defined in the Equity Plan, that have accrued.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_DividendEquivalentUnitsValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for restricted stock unit under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsCommonStockCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsCommonStockCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669646-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b,c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3000-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4568740-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4590271-111686<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4568447-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6801760784">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 93,474<span></span>
</td>
<td class="nump">$ 120,286<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReceivablesNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">416,412<span></span>
</td>
<td class="nump">404,911<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract assets</a></td>
<td class="nump">359,370<span></span>
</td>
<td class="nump">344,806<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">47,409<span></span>
</td>
<td class="nump">42,704<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">916,665<span></span>
</td>
<td class="nump">912,707<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">363,993<span></span>
</td>
<td class="nump">375,888<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease assets</a></td>
<td class="nump">253,117<span></span>
</td>
<td class="nump">242,385<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">1,090<span></span>
</td>
<td class="nump">1,100<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">67,460<span></span>
</td>
<td class="nump">69,829<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">215,103<span></span>
</td>
<td class="nump">215,103<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other long-term assets</a></td>
<td class="nump">17,675<span></span>
</td>
<td class="nump">13,453<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">1,835,103<span></span>
</td>
<td class="nump">1,830,465<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">258,962<span></span>
</td>
<td class="nump">235,972<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="nump">176,847<span></span>
</td>
<td class="nump">192,397<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">192,648<span></span>
</td>
<td class="nump">183,501<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsPayableCurrent', window );">Dividends payable</a></td>
<td class="nump">2,895<span></span>
</td>
<td class="nump">2,919<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Current portion of long-term debt</a></td>
<td class="nump">52,430<span></span>
</td>
<td class="nump">55,659<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">683,782<span></span>
</td>
<td class="nump">670,448<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt, net of current portion</a></td>
<td class="nump">290,749<span></span>
</td>
<td class="nump">295,642<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Noncurrent operating lease liabilities, net of current portion</a></td>
<td class="nump">176,546<span></span>
</td>
<td class="nump">171,225<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">17,820<span></span>
</td>
<td class="nump">17,819<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other long-term liabilities</a></td>
<td class="nump">50,762<span></span>
</td>
<td class="nump">45,801<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">1,219,659<span></span>
</td>
<td class="nump">1,200,935<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (See Note 16)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract', window );"><strong>Stockholders' equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock-$.0001 par value; 90,000,000 shares authorized; 48,254,575 and 48,665,138 issued and outstanding at March 31, 2020 and December 31, 2019, respectively</a></td>
<td class="nump">5<span></span>
</td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">91,414<span></span>
</td>
<td class="nump">97,130<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">524,655<span></span>
</td>
<td class="nump">531,291<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive (loss) income</a></td>
<td class="num">(1,661)<span></span>
</td>
<td class="nump">76<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Noncontrolling interest</a></td>
<td class="nump">1,031<span></span>
</td>
<td class="nump">1,028<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Total stockholders' equity</a></td>
<td class="nump">615,444<span></span>
</td>
<td class="nump">629,530<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 1,835,103<span></span>
</td>
<td class="nump">$ 1,830,465<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e637-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669686-108580<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6801-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118942415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130533-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.31)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-06(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6488278&amp;loc=d3e604059-122996<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4568740-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4590271-111686<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4568447-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6663087760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>May 01, 2020</div></th>
<th class="th"><div>Feb. 22, 2020</div></th>
<th class="th"><div>Oct. 31, 2019</div></th>
<th class="th"><div>Aug. 02, 2019</div></th>
<th class="th"><div>May 03, 2019</div></th>
<th class="th"><div>Feb. 26, 2019</div></th>
<th class="th"><div>Nov. 02, 2018</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsCashAbstract', window );"><strong>Cash Dividend</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Cash dividend declared (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Events</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsCashAbstract', window );"><strong>Cash Dividend</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Cash dividend declared (in dollars per share)</a></td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsCashAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsCashAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6642494560">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Future minimum lease payments under non-cancelable operating leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total</a></td>
<td class="nump">$ 256,078<span></span>
</td>
<td class="nump">$ 245,261<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6637880736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Event<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events.</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 18&#8212;Subsequent Events</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><i style="font-style:italic;">Cash Dividend</i></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On May 1, 2020, the Board of Directors declared a cash dividend of $0.06 per share of common stock for stockholders of record as of June 30, 2020, payable on or about July 15, 2020.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI http://asc.fasb.org/topic&amp;trid=2122774<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6791261808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteAbstract', window );"><strong>Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders' Equity</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:54.7pt;text-indent:-54.7pt;margin:0pt;"><b style="font-weight:bold;">Note 14&#8212;Stockholders&#8217; Equity</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Common stock</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We issued 34,524 and 114,106 shares of common stock in the three months ended March 31, 2020 and 2019, respectively, under our long-term retention plan (&#8220;LTR Plan&#8221;). The shares were purchased by the participants in the LTR Plan with payment made to us of $0.6 million and $1.8 million in the three months ended March 31, 2020 and 2019, respectively. Our LTR Plan for certain managers and executives allows participants to use a portion of their annual bonus amount to purchase our common stock at a discount from the market price. The shares purchased in the three months ended March 31, 2020 were a portion of bonus amounts earned in 2019, and the number of shares purchased was calculated based on 75% of the average daily closing market price of our common stock during December 2019. The shares purchased in the three months ended March 31, 2019 were for bonus amounts earned in 2018, and the number of shares was calculated at 75% of the average daily closing market price during December 2018.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In the three months ended March 31, 2020 and 2019, we issued 16,744 and 13,278 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As discussed in Note 11 &#8212; <i style="font-style:italic;">&#8220;Stock&#8211;Based Compensation&#8221;</i>, as of March 31, 2020, the Board of Directors has granted a total of 607,361 shares of Units, net of forfeitures under the Equity Plan and a total of 2,401 Dividend Equivalent Units were accrued at March 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Share Repurchase Plan</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In February 2020, our Board of Directors authorized a $25.0 million share repurchase program. Under the share repurchase program, we can, depending on market conditions, share price and other factors, acquire shares of our common stock on the open market or in privately negotiated transactions. In the three months ended March 31, 2020 we purchased and cancelled 461,831 shares of common stock, which in the aggregate, equaled $7.4 million at an average share price of $16.01. The share repurchase plan expires on December 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI http://asc.fasb.org/topic&amp;trid=2208762<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6648631424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Performance obligations - 2020 (Details) - Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-04-01<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue expected timing</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction</a></td>
<td class="text">12 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage', window );">Percentage of remaining performance obligation expected to be recognized in period</a></td>
<td class="nump">58.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of revenue to be recognized on performance obligations for the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2020-04-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2020-04-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6803768096">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Goodwill (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 215,103<span></span>
</td>
<td class="nump">$ 215,103<span></span>
</td>
<td class="nump">$ 215,103<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember', window );">Power</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">26,194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,194<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember', window );">Pipeline</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">52,415<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,415<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember', window );">Utilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">37,312<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37,312<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember', window );">Transmission</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">59,032<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">59,032<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember', window );">Civil</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 40,150<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40,150<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_UtilityTransmissionAndDistributionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6789858912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Legal (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 25, 2015</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Commitments and contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 743,243<span></span>
</td>
<td class="nump">$ 661,558<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 47,810<span></span>
</td>
<td class="nump">$ 52,460<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=prim_JamesConstructionGroupLLCMember', window );">JCG | North Texas Tollway Authority v. James Construction Group, LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Commitments and contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LitigationSettlementAmountAwardedToOtherParty', window );">Expected remediation cost on settlement</a></td>
<td class="nump">$ 17,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_LitigationCostsCodefendantPercentage', window );">Percentage of expected costs second defendant would pay</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_LitigationCostsCompanyPercentage', window );">Percentage of expected costs Company would pay</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_LitigationSettlementRemainingAccrualBalance', window );">Remaining accrual balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_LitigationSettlementExpectedRemediationCost', window );">Expected remediation cost</a></td>
<td class="nump">22,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_LitigationSettlementIncreaseInLiability', window );">Increase in liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_LitigationSettlementRemediationExpense', window );">Remediation costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=prim_JamesConstructionGroupLLCMember', window );">JCG | North Texas Tollway Authority v. James Construction Group, LLC | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Commitments and contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts', window );">Agreed payments by second defendant in expected remediation costs toward settlement</a></td>
<td class="nump">$ 5,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_SuretyBondMember', window );">Bonding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Commitments and contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_BondsIssuedAndOutstanding', window );">Bid and completion bonds issued and outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 829,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 648,600<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_BondsIssuedAndOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of bonds issued and outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_BondsIssuedAndOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_LitigationCostsCodefendantPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of expected costs towards the settlement that the co-defendant would pay.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_LitigationCostsCodefendantPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_LitigationCostsCompanyPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of expected costs towards the settlement that the Company would pay.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_LitigationCostsCompanyPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_LitigationSettlementExpectedRemediationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of total expected remediation costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_LitigationSettlementExpectedRemediationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_LitigationSettlementIncreaseInLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of increase in liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_LitigationSettlementIncreaseInLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount provided by defendants in expected costs toward the settlement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_LitigationSettlementRemainingAccrualBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of remaining accrual balance which is to be paid to third-party contractor</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_LitigationSettlementRemainingAccrualBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_LitigationSettlementRemediationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of remediation expense incurred.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_LitigationSettlementRemediationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationSettlementAmountAwardedToOtherParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount awarded to other party in judgment or settlement of litigation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationSettlementAmountAwardedToOtherParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=prim_JamesConstructionGroupLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=prim_JamesConstructionGroupLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_LitigationCaseAxis=prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_SuretyBondMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_SuretyBondMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6801450560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 22, 2020</div></th>
<th class="th"><div>Oct. 31, 2019</div></th>
<th class="th"><div>Aug. 02, 2019</div></th>
<th class="th"><div>May 03, 2019</div></th>
<th class="th"><div>Feb. 26, 2019</div></th>
<th class="th"><div>Nov. 02, 2018</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfStockholdersEquityAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Cash dividend declared (in dollars per share)</a></td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6780586832">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract', window );"><strong>Stockholders' equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">90,000,000<span></span>
</td>
<td class="nump">90,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">48,254,575<span></span>
</td>
<td class="nump">48,665,138<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">48,254,575<span></span>
</td>
<td class="nump">48,665,138<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>74
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "prim-20200504x10q.htm": {
   "axisCustom": 0,
   "axisStandard": 28,
   "contextCount": 202,
   "dts": {
    "calculationLink": {
     "local": [
      "prim-20200504_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "prim-20200504_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-eedm-def-2019-01-31.xml",
      "http://xbrl.fasb.org/srt/2019/elts/srt-eedm1-def-2019-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "prim-20200504x10q.htm"
     ]
    },
    "labelLink": {
     "local": [
      "prim-20200504_lab.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-doc-2019-01-31.xml",
      "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "prim-20200504_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-ref-2019-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "prim-20200504.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd",
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-types-2019-01-31.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-roles-2019-01-31.xsd",
      "https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-types-2019-01-31.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-parts-codification-2019-01-31.xsd"
     ]
    }
   },
   "elementCount": 468,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2019-01-31": 11,
    "http://xbrl.sec.gov/dei/2019-01-31": 5,
    "total": 16
   },
   "keyCustom": 44,
   "keyStandard": 291,
   "memberCustom": 22,
   "memberStandard": 33,
   "nsprefix": "prim",
   "nsuri": "http://www.primoriscorp.com/20200504",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00090 - Document - Document and Entity Information",
     "role": "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10201 - Disclosure - Basis of Presentation",
     "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentation",
     "shortName": "Basis of Presentation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10301 - Disclosure - Recent Accounting Pronouncements",
     "role": "http://www.primoriscorp.com/role/DisclosureRecentAccountingPronouncements",
     "shortName": "Recent Accounting Pronouncements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10401 - Disclosure - Fair Value Measurements",
     "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurements",
     "shortName": "Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10501 - Disclosure - Revenue",
     "role": "http://www.primoriscorp.com/role/DisclosureRevenue",
     "shortName": "Revenue",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10601 - Disclosure - Goodwill and Intangible Assets",
     "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets",
     "shortName": "Goodwill and Intangible Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10701 - Disclosure - Accounts Payable and Accrued Liabilities",
     "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities",
     "shortName": "Accounts Payable and Accrued Liabilities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10801 - Disclosure - Credit Arrangements",
     "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangements",
     "shortName": "Credit Arrangements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10901 - Disclosure - Derivative Instruments",
     "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstruments",
     "shortName": "Derivative Instruments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11001 - Disclosure - Noncontrolling Interests",
     "role": "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterests",
     "shortName": "Noncontrolling Interests",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11101 - Disclosure - Stock-Based Compensation",
     "role": "http://www.primoriscorp.com/role/DisclosureStockBasedCompensation",
     "shortName": "Stock-Based Compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS",
     "role": "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11201 - Disclosure - Income Taxes",
     "role": "http://www.primoriscorp.com/role/DisclosureIncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "prim:DividendsAndEarningsPerShareDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11301 - Disclosure - Dividends and Earnings Per Share",
     "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare",
     "shortName": "Dividends and Earnings Per Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "prim:DividendsAndEarningsPerShareDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11401 - Disclosure - Stockholders' Equity",
     "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquity",
     "shortName": "Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11501 - Disclosure - Leases",
     "role": "http://www.primoriscorp.com/role/DisclosureLeases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11601 - Disclosure - Commitments and Contingencies",
     "role": "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11701 - Disclosure - Reportable Segments",
     "role": "http://www.primoriscorp.com/role/DisclosureReportableSegments",
     "shortName": "Reportable Segments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11801 - Disclosure - Subsequent Event",
     "role": "http://www.primoriscorp.com/role/DisclosureSubsequentEvent",
     "shortName": "Subsequent Event",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30403 - Disclosure - Fair Value Measurements (Tables)",
     "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables",
     "shortName": "Fair Value Measurements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "prim:ContractWithCustomerAssetTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30503 - Disclosure - Revenue (Tables)",
     "role": "http://www.primoriscorp.com/role/DisclosureRevenueTables",
     "shortName": "Revenue (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "prim:ContractWithCustomerAssetTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30603 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "role": "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30703 - Disclosure - Accounts Payable and Accrued Liabilities (Tables)",
     "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables",
     "shortName": "Accounts Payable and Accrued Liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30803 - Disclosure - Credit Arrangements (Tables)",
     "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables",
     "shortName": "Credit Arrangements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30903 - Disclosure - Derivative Instruments (Tables)",
     "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables",
     "shortName": "Derivative Instruments (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "prim:ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31003 - Disclosure - Noncontrolling Interests (Tables)",
     "role": "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsTables",
     "shortName": "Noncontrolling Interests (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "prim:ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31103 - Disclosure - Stock-Based Compensation (Tables)",
     "role": "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationTables",
     "shortName": "Stock-Based Compensation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "prim:DividendsAndEarningsPerShareDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DividendsDeclaredTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31303 - Disclosure - Dividends and Earnings Per Share (Tables)",
     "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables",
     "shortName": "Dividends and Earnings Per Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "prim:DividendsAndEarningsPerShareDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DividendsDeclaredTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31503 - Disclosure - Leases (Tables)",
     "role": "http://www.primoriscorp.com/role/DisclosureLeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31703 - Disclosure - Reportable Segments (Tables)",
     "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables",
     "shortName": "Reportable Segments (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:NatureOfOperations",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_segment_zK27MSdamEeRnPBVsDPe7g",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40101 - Disclosure - Nature of Business (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails",
     "shortName": "Nature of Business (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "prim:ConcentrationRiskNumberOfTopCustomers",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40201 - Disclosure - Basis of Presentation (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails",
     "shortName": "Basis of Presentation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "prim:ConcentrationRiskNumberOfTopCustomers",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_customer_HLNuazf_bkSNlGSfth9cMA",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME",
     "role": "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome",
     "shortName": "CONSOLIDATED STATEMENTS OF INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_6_30_2019_Ucg1JqPm5U6Reis0w7KmXA",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "prim:ContingentConsiderationAssetFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40401 - Disclosure - Fair Value Measurements (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails",
     "shortName": "Fair Value Measurements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_6_30_2019_Ucg1JqPm5U6Reis0w7KmXA",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "prim:ContingentConsiderationAssetFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-7",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40501 - Disclosure - Revenue - Performance obligations (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails",
     "shortName": "Revenue - Performance obligations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-7",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2020-04-01_2mO-ABZ510y6zhBoKkKQ0g",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "prim:RevenueRemainingPerformanceObligationExpectedTimingPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40502 - Disclosure - Revenue - Performance obligations - 2020 (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details",
     "shortName": "Revenue - Performance obligations - 2020 (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_2020-04-01_2mO-ABZ510y6zhBoKkKQ0g",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "prim:RevenueRemainingPerformanceObligationExpectedTimingPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "prim:ContractWithCustomerAssetTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnbilledReceivablesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40503 - Disclosure - Revenue - Contract assets (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails",
     "shortName": "Revenue - Contract assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "prim:ContractWithCustomerAssetTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnbilledReceivablesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "prim:ContractWithCustomerLiabilityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "prim:ContractWithCustomerLiabilityDeferredRevenueCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40504 - Disclosure - Revenue - Contract liabilities (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails",
     "shortName": "Revenue - Contract liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "prim:ContractWithCustomerLiabilityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "prim:ContractWithCustomerLiabilityDeferredRevenueCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40505 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails",
     "shortName": "Revenue - Disaggregation of revenue by customer type and contract type (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_paif7KgojEOhpclTKpKcNQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40601 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails",
     "shortName": "Goodwill and Intangible Assets - Goodwill (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2019_BjsJTruINU-LOSyHj80fxQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40602 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails",
     "shortName": "Goodwill and Intangible Assets - Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "prim:ContractWithCustomerAccountsPayableDueToSubcontractors",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40701 - Disclosure - Accounts Payable and Accrued Liabilities (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails",
     "shortName": "Accounts Payable and Accrued Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "prim:ContractWithCustomerAccountsPayableDueToSubcontractors",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40801 - Disclosure - Credit Arrangements (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails",
     "shortName": "Credit Arrangements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME",
     "role": "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtWeightedAverageInterestRate",
      "reportCount": 1,
      "unitRef": "Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40802 - Disclosure - Credit Arrangements - Narrative (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails",
     "shortName": "Credit Arrangements - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_12_31_2019_tqF5oLEcGEi8Fd6F_eb7aA",
      "decimals": "3",
      "lang": null,
      "name": "us-gaap:DebtWeightedAverageInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "prim:NumberOfInstrumentsUsedForTrading",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_instrument_fROoiuuhrEmEXQzvnuS3gg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40901 - Disclosure - Derivative Instruments (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails",
     "shortName": "Derivative Instruments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "prim:NumberOfInstrumentsUsedForTrading",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_instrument_fROoiuuhrEmEXQzvnuS3gg",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeLiabilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40902 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails",
     "shortName": "Derivative Instruments - Derivative contract and instruments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeLiabilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41001 - Disclosure - Noncontrolling Interests (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails",
     "shortName": "Noncontrolling Interests (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "prim:ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_ZuiPBQ1d2UeoeraZwEQYrw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "prim:AccruedDividendEquivalentUnits",
      "reportCount": 1,
      "unitRef": "Unit_Standard_shares_4os156Flt0-qnxNep42g9Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41101 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails",
     "shortName": "Stock-Based Compensation - Restricted Stock Units (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_prim_EquityIncentivePlan2013Member_KJAv3jgTqk-VEzu2ilQd3A",
      "decimals": "INF",
      "lang": null,
      "name": "prim:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_4os156Flt0-qnxNep42g9Q",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41201 - Disclosure - Income Taxes (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails",
     "shortName": "Income Taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DividendsDeclaredTableTextBlock",
       "prim:DividendsAndEarningsPerShareDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_2_22_2020_To_2_22_2020_IrdZDsPh306_JNpuPOmsRw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "reportCount": 1,
      "unitRef": "Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41301 - Disclosure - Dividends and Earnings Per Share (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails",
     "shortName": "Dividends and Earnings Per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2019_To_3_31_2019_4Ezv1q1DlkOqbeVfdLZHjQ",
      "decimals": "-3",
      "lang": null,
      "name": "prim:IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_4os156Flt0-qnxNep42g9Q",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_prim_EquityIncentivePlan2013Member_g8CxyEXjHUKugubbz1P8hw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_4os156Flt0-qnxNep42g9Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41302 - Disclosure - Dividends and Earnings Per Share - Anti-dilutive shares (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails",
     "shortName": "Dividends and Earnings Per Share - Anti-dilutive shares (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_prim_EquityIncentivePlan2013Member_g8CxyEXjHUKugubbz1P8hw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_4os156Flt0-qnxNep42g9Q",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_2_29_2020_x-shwRMOb0GBO7hyW7nj1g",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41401 - Disclosure - Stockholders' Equity (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails",
     "shortName": "Stockholders' Equity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_2_29_2020_x-shwRMOb0GBO7hyW7nj1g",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41501 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails",
     "shortName": "Leases - Components of Lease Expense and Operating Lease Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5mGWNOYUnE-shy_TQPGp3A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "role": "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5mGWNOYUnE-shy_TQPGp3A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "prim:LesseeOperatingLeaseLiabilityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "As_Of_3_31_2020_-48Z0ouy4kaN3yZD5QYVfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseLiability",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41502 - Disclosure - Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails",
     "shortName": "Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41601 - Disclosure - Commitments and Contingencies - Legal (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails",
     "shortName": "Commitments and Contingencies - Legal (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_2_25_2015_To_2_25_2015_srt_LitigationCaseAxis_prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember_us-gaap_BusinessAcquisitionAxis_prim_JamesConstructionGroupLLCMember_2uFZe3IrL0qK7lugwFuxpQ",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:LitigationSettlementAmountAwardedToOtherParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:NatureOfOperations",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_segment_zK27MSdamEeRnPBVsDPe7g",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41701 - Disclosure - Reportable Segments (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails",
     "shortName": "Reportable Segments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "3",
      "lang": null,
      "name": "prim:GrossProfitAsPercentageOfSegmentRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "prim:RevenuePercentage",
      "reportCount": 1,
      "unitRef": "Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41702 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails",
     "shortName": "Reportable Segments - Revenue and Total Assets by Geographic Area (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_6KYUxaE6R0WFY8BOMBdMvg",
      "decimals": "3",
      "lang": null,
      "name": "prim:RevenuePercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_bza2TYGRg06hL0_I88QA0A",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DividendsDeclaredTableTextBlock",
       "prim:DividendsAndEarningsPerShareDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_2_22_2020_To_2_22_2020_IrdZDsPh306_JNpuPOmsRw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "reportCount": 1,
      "unitRef": "Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41801 - Disclosure - Subsequent Events (Details)",
     "role": "http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails",
     "shortName": "Subsequent Events (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_5_1_2020_To_5_1_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember__5PeX9PbKkuTJHkNoreKVg",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DividendsDeclaredTableTextBlock",
       "prim:DividendsAndEarningsPerShareDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_2_22_2020_To_2_22_2020_IrdZDsPh306_JNpuPOmsRw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "reportCount": 1,
      "unitRef": "Unit_Divide_USD_shares_Q21w3ch1zU-vjbzdSbx11Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00405 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)",
     "role": "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquityParenthetical",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "role": "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_gZqeF66h2UKXgsUgnrJg7w",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10101 - Disclosure - Nature of Business",
     "role": "http://www.primoriscorp.com/role/DisclosureNatureOfBusiness",
     "shortName": "Nature of Business",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "prim-20200504x10q.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_2i1TJ7ZhVEGQm5fwqQSWGA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 59,
   "tag": {
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cover page.",
        "label": "Document and Entity Information"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r331"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r332"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r334"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r329"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r330"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "prim_AccruedDividendEquivalentUnits": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of units accrued under dividend equivalents.",
        "label": "Accrued Dividend Equivalent Units",
        "terseLabel": "Accrued dividend equivalent units"
       }
      }
     },
     "localname": "AccruedDividendEquivalentUnits",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "prim_AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of principal payment on term loan, which is adjusted down each quarter to arrive at the notional amount of the swap.",
        "label": "Adjusted Notional Amount, Percentage Of Principal Payments On Term Loan",
        "terseLabel": "Notional amount adjustment"
       }
      }
     },
     "localname": "AdjustedNotionalAmountPercentageOfPrincipalPaymentsOnTermLoan",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_BondsIssuedAndOutstanding": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the amount of bonds issued and outstanding.",
        "label": "Bonds, Issued and Outstanding",
        "terseLabel": "Bid and completion bonds issued and outstanding"
       }
      }
     },
     "localname": "BondsIssuedAndOutstanding",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_CanadianCreditFacilityCibcMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Canadian credit facility with CIBC bank.",
        "label": "Canadian Credit Facility Cibc [Member]",
        "terseLabel": "Working Capital Credit Facility"
       }
      }
     },
     "localname": "CanadianCreditFacilityCibcMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_CarlsbadConstructorsJointVentureMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Carlsbad joint venture.",
        "label": "Carlsbad Constructors Joint Venture [Member]",
        "terseLabel": "Carlsbad"
       }
      }
     },
     "localname": "CarlsbadConstructorsJointVentureMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails",
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_CivilSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Pertaining to the Civil segment.",
        "label": "Civil Segment [Member]",
        "terseLabel": "Civil"
       }
      }
     },
     "localname": "CivilSegmentMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails",
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the written promise to pay a note to a commercial equipment finance entity, maturing range from June 15, 2018 to August 22, 2022.",
        "label": "Commercial Equipment Financing Due June2018 To August2022 [Member]",
        "terseLabel": "Commercial equipment notes"
       }
      }
     },
     "localname": "CommercialEquipmentFinancingDueJune2018ToAugust2022Member",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the minimum percentage of revenue typically generated by specified number of customers in any one calendar year.",
        "label": "Concentration Risk, Minimum Percentage of Revenues Generated by Specified Number of Top Customers",
        "terseLabel": "Minimum percentage of revenues generated by top ten customers"
       }
      }
     },
     "localname": "ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of calendar years in which top customers typically generate minimum specified percentage of revenue.",
        "label": "Concentration Risk, Number of Calendar Years in which Top Customers Generate Specified Percentage of Revenue",
        "terseLabel": "Number of calendar years in which top customers typically generate minimum specified percentage of revenue"
       }
      }
     },
     "localname": "ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "prim_ConcentrationRiskNumberOfCustomers": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of customers who typically contribute accounts receivable in excess of a specified percentage.",
        "label": "Concentration Risk, Number of Customers",
        "terseLabel": "Number of customers"
       }
      }
     },
     "localname": "ConcentrationRiskNumberOfCustomers",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "prim_ConcentrationRiskNumberOfTopCustomers": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Concentration Risk, Number of Top Customers",
        "terseLabel": "Number of top customers"
       }
      }
     },
     "localname": "ConcentrationRiskNumberOfTopCustomers",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "prim_ContingentConsiderationAssetFairValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value of contingent consideration asset.",
        "label": "Contingent Consideration Asset, Fair Value",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "localname": "ContingentConsiderationAssetFairValue",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_ContractWithCustomerAccountsPayableDueToSubcontractors": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount due to subcontractors and retained pending contract completion and customer acceptance of jobs included in accounts payable.",
        "label": "Contract with Customer, Accounts Payable, Due to Subcontractors",
        "terseLabel": "Retention amounts included in accounts payable"
       }
      }
     },
     "localname": "ContractWithCustomerAccountsPayableDueToSubcontractors",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_ContractWithCustomerAssetTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of contract assets balances and changes in contract assets balances.",
        "label": "Contract with Customer, Asset [Table Text Block]",
        "terseLabel": "Schedule of contract assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetTableTextBlock",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_ContractWithCustomerLiabilityCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accrued loss provision component of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer Liability Accrued Loss Provision Current",
        "terseLabel": "Accrued loss provision"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityAccruedLossProvisionCurrent",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_ContractWithCustomerLiabilityDeferredRevenueCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_ContractWithCustomerLiabilityCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of obligation before accrued loss provision on transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability, Deferred Revenue, Current",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityDeferredRevenueCurrent",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_ContractWithCustomerLiabilityModificationOfContract": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of contract modifications included in the expected contract value.",
        "label": "Contract with Customer, Liability, Modification of Contract",
        "terseLabel": "Amount of contract modifications included in the expected contract value."
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityModificationOfContract",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_ContractWithCustomerLiabilityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of contract liabilities balances and changes in contract liabilities balances.",
        "label": "Contract with Customer, Liability [Table Text Block]",
        "terseLabel": "Schedule of contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityTableTextBlock",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "prim_CostReimbursableContractsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for cost reimbursable contract.",
        "label": "Cost Reimbursable Contracts [Member]",
        "terseLabel": "Cost reimbursable"
       }
      }
     },
     "localname": "CostReimbursableContractsMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_CreditFacilityWithCanadianBankMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to credit facility with a Canadian bank.",
        "label": "Credit Facility With Canadian Bank [Member]",
        "terseLabel": "Canadian Credit Facility"
       }
      }
     },
     "localname": "CreditFacilityWithCanadianBankMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the credit agreement with Private Bank, Bank of the West and IBERIABANK Corporation.",
        "label": "Credit Facility With Private Bank Bank Of West And I B E R I A B A N K Corporation [Member]",
        "terseLabel": "Credit Agreement"
       }
      }
     },
     "localname": "CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the restrictions on investments, change of control provisions and provisions, expressed as a percentage of total assets to be disposed off as per the financial covenant.",
        "label": "Debt Instrument, Covenant Restrictions on Investments Change of Control Provisions as Percentage of Total Assets to be Disposed Off",
        "terseLabel": "Restrictions on investments, change of control provisions and provisions as a percentage of total assets to be disposed off"
       }
      }
     },
     "localname": "DebtInstrumentCovenantRestrictionsOnInvestmentsChangeOfControlProvisionsAsPercentageOfTotalAssetsToBeDisposedOff",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents percentage of average market closing prices used in determining number of common stock that could be purchased by participants.",
        "label": "Deferred Compensation Arrangement Percentage of Average Market Closing Prices used in Determining Number of Common Stock that Could be Purchased by Participants",
        "terseLabel": "Percentage of average market closing prices used in determining number of common stock that could be purchased by participants"
       }
      }
     },
     "localname": "DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_DividendEquivalentUnitsValue": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the value of Dividend Equivalent Units, as defined in the Equity Plan, that have accrued.",
        "label": "Dividend Equivalent Units Value",
        "terseLabel": "Dividend equivalent Units accrued - Restricted Stock Units"
       }
      }
     },
     "localname": "DividendEquivalentUnitsValue",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_DividendsAndEarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "No definition available.",
        "label": "Dividends and Earnings Per Share"
       }
      }
     },
     "localname": "DividendsAndEarningsPerShareAbstract",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "xbrltype": "stringItemType"
    },
    "prim_DividendsAndEarningsPerShareDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for dividends paid or declared and earnings per share.",
        "label": "Dividends and Earnings Per Share Disclosure [Text Block]",
        "terseLabel": "Dividends and Earnings Per Share"
       }
      }
     },
     "localname": "DividendsAndEarningsPerShareDisclosureTextBlock",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents a ratio calculated by dividing the reported amount of income tax expense attributable to continuing operations for the period by GAAP-basis pretax income from continuing operations after adjusting for minority interest.",
        "label": "Effective Income Tax Rate Continuing Operations after Minority Interest",
        "verboseLabel": "Effective tax rate on income before provision for income taxes and noncontrolling interests (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_EquityIncentivePlan2013Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This element represents the 2013 Equity Incentive Plan of the entity.",
        "label": "Equity Incentive Plan2013 [Member]",
        "terseLabel": "Equity Plan"
       }
      }
     },
     "localname": "EquityIncentivePlan2013Member",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails",
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_GrossProfitAsPercentageOfSegmentRevenue": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the gross profit represented as a percentage of total segment revenue.",
        "label": "Gross Profit as Percentage of Segment Revenue",
        "terseLabel": "% of Revenue"
       }
      }
     },
     "localname": "GrossProfitAsPercentageOfSegmentRevenue",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the maximum period of statute of limitations of state and foreign jurisdictions.",
        "label": "Income Tax Period Of Statute Of Limitations Of State And Foreign Jurisdictions Maximum",
        "terseLabel": "Maximum period of statute of limitations of state and foreign jurisdictions"
       }
      }
     },
     "localname": "IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the minimum period of statute of limitations of state and foreign jurisdictions.",
        "label": "Income Tax Period Of Statute Of Limitations Of State And Foreign Jurisdictions Minimum",
        "terseLabel": "Minimum period of statute of limitations of state and foreign jurisdictions"
       }
      }
     },
     "localname": "IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in contract with customer asset net current.",
        "label": "Increase (Decrease) in Contract with Customer Asset Net Current",
        "terseLabel": "Increase (decrease) in contract assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerAssetNetCurrent",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in contract with customers liability current.",
        "label": "Increase (Decrease) in Contract with Customer Liability Current",
        "verboseLabel": "Decrease in contract liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiabilityCurrent",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating lease assets and liabilities.",
        "label": "Increase Decrease in Operating Lease Assets and Liabilities",
        "negatedLabel": "Operating lease assets and liabilities, net"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements": {
     "auth_ref": [],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of shares issued to independent directors under share based payment arrangements.",
        "label": "Incremental Common Shares Attributable to Shares Issued to Independent Directors under Share Based Payment Arrangements",
        "terseLabel": "Dilutive effect of shares issued to independent directors"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToSharesIssuedToIndependentDirectorsUnderShareBasedPaymentArrangements",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the percentage of debt outstanding in which the interest rate was effectively exchanged",
        "label": "Interest Rate Swap Agreement, Percentage Of Debt Outstanding In Which Interest Exchanged",
        "terseLabel": "Interest rate swap agreement",
        "verboseLabel": "Notional amount interest rate"
       }
      }
     },
     "localname": "InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails",
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_JamesConstructionGroupLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to James Construction Group LLC, an acquiree of the entity.",
        "label": "James Construction Group L L C [Member]",
        "terseLabel": "JCG"
       }
      }
     },
     "localname": "JamesConstructionGroupLLCMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_LesseeOperatingLeaseLiabilityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The tabular disclosure of operating lease liabilities.",
        "label": "Lessee Operating Lease Liability [Table Text Block]",
        "terseLabel": "Summary of operating lease liabilities"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityTableTextBlock",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "prim_LitigationCostsCodefendantPercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the percentage of expected costs towards the settlement that the co-defendant would pay.",
        "label": "Litigation Costs CoDefendant Percentage",
        "terseLabel": "Percentage of expected costs second defendant would pay"
       }
      }
     },
     "localname": "LitigationCostsCodefendantPercentage",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_LitigationCostsCompanyPercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the percentage of expected costs towards the settlement that the Company would pay.",
        "label": "Litigation Costs Company Percentage",
        "terseLabel": "Percentage of expected costs Company would pay"
       }
      }
     },
     "localname": "LitigationCostsCompanyPercentage",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_LitigationSettlementExpectedRemediationCost": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the amount of total expected remediation costs.",
        "label": "Litigation Settlement, Expected Remediation Cost",
        "terseLabel": "Expected remediation cost"
       }
      }
     },
     "localname": "LitigationSettlementExpectedRemediationCost",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_LitigationSettlementIncreaseInLiability": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of increase in liability.",
        "label": "Litigation Settlement, Increase in Liability",
        "terseLabel": "Increase in liability"
       }
      }
     },
     "localname": "LitigationSettlementIncreaseInLiability",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_LitigationSettlementPaymentsByDefendantsInExpectedCosts": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount provided by defendants in expected costs toward the settlement.",
        "label": "Litigation Settlement, Payments by Defendants in Expected Costs",
        "verboseLabel": "Agreed payments by second defendant in expected remediation costs toward settlement"
       }
      }
     },
     "localname": "LitigationSettlementPaymentsByDefendantsInExpectedCosts",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_LitigationSettlementRemainingAccrualBalance": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of remaining accrual balance which is to be paid to third-party contractor",
        "label": "Litigation Settlement Remaining Accrual Balance",
        "terseLabel": "Remaining accrual balance"
       }
      }
     },
     "localname": "LitigationSettlementRemainingAccrualBalance",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_LitigationSettlementRemediationExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of remediation expense incurred.",
        "label": "Litigation Settlement, Remediation Expense",
        "terseLabel": "Remediation costs"
       }
      }
     },
     "localname": "LitigationSettlementRemediationExpense",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_LongTermRetentionPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This element represents the Long-Term Retention Plan of the entity.",
        "label": "Long Term Retention Plan [Member]",
        "terseLabel": "LTR Plan"
       }
      }
     },
     "localname": "LongTermRetentionPlanMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_MasterServiceAgreementCustomersMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for MSA customers.",
        "label": "Master Service Agreement Customers [Member]",
        "terseLabel": "MSA"
       }
      }
     },
     "localname": "MasterServiceAgreementCustomersMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_NatureOfBusinessLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Nature of Business [Line Items]",
        "terseLabel": "Nature of Business"
       }
      }
     },
     "localname": "NatureOfBusinessLineItems",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "prim_NonMasterServiceAgreementCustomersMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for Non-MSA customers.",
        "label": "Non Master Service Agreement Customers [Member]",
        "terseLabel": "Non-MSA"
       }
      }
     },
     "localname": "NonMasterServiceAgreementCustomersMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_NonUnitedStatesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents regions excluding the United States.",
        "label": "Non United States [Member]",
        "terseLabel": "Non-United States"
       }
      }
     },
     "localname": "NonUnitedStatesMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to North Texas Tollway Authority v. James Construction Group, LLC, an action filed against the entity.",
        "label": "North Texas Tollway Authority V James Construction Group L L C [Member]",
        "terseLabel": "North Texas Tollway Authority v. James Construction Group, LLC"
       }
      }
     },
     "localname": "NorthTexasTollwayAuthorityVJamesConstructionGroupLLCMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_NumberOfInstrumentsUsedForTrading": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of instruments used for trading.",
        "label": "Number Of Instruments Used For Trading",
        "terseLabel": "Number of Instruments used for trading"
       }
      }
     },
     "localname": "NumberOfInstrumentsUsedForTrading",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "prim_PAndUSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Pertaining to the Pipeline and Underground segment.",
        "label": "P And U Segment [Member]",
        "terseLabel": "Pipeline"
       }
      }
     },
     "localname": "PAndUSegmentMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails",
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_PIAndESegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Pertains to the Power, Industrial and Engineering segment.",
        "label": "P I And E Segment [Member]",
        "terseLabel": "Power"
       }
      }
     },
     "localname": "PIAndESegmentMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails",
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_PipelineCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents a pipeline customer.",
        "label": "Pipeline Customer [Member]",
        "terseLabel": "Pipeline Customer [Member]"
       }
      }
     },
     "localname": "PipelineCustomerMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_PotentialIncreasePerAccordionFeature": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount that the debt instrument can increase per the accordian feature.",
        "label": "Potential Increase per Accordion Feature",
        "terseLabel": "Potential increase per the agreement"
       }
      }
     },
     "localname": "PotentialIncreasePerAccordionFeature",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "prim_RevenuePercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The percentage of revenue to total revenue.",
        "label": "Revenue, Percentage",
        "terseLabel": "% of Total Revenue",
        "verboseLabel": "% of Revenue"
       }
      }
     },
     "localname": "RevenuePercentage",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails",
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of revenue to be recognized on performance obligations for the period.",
        "label": "Revenue Remaining Performance Obligation Expected Timing Percentage",
        "terseLabel": "Percentage of remaining performance obligation expected to be recognized in period"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingPercentage",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the carrying value of the assets and liabilities of the variable interest entity (VIE) included in the entity's consolidated financial statements.",
        "label": "Schedule of Carrying Value of Assets and Liabilities of Variable Interest Entities Included in Consolidated Financial Statements [Table Text Block]",
        "terseLabel": "Schedule of the carrying value of the assets and liabilities included in the Company's consolidated balance sheets"
       }
      }
     },
     "localname": "ScheduleOfCarryingValueOfAssetsAndLiabilitiesOfVariableInterestEntitiesIncludedInConsolidatedFinancialStatementsTableTextBlock",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "prim_ScheduleOfNatureOfBusinessTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Schedule of Nature of Business [Table]"
       }
      }
     },
     "localname": "ScheduleOfNatureOfBusinessTable",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "prim_ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of operating activities of the variable interest entity (VIE) included in the entity's consolidated income statement.",
        "label": "Schedule of Operating Activities of Variable Interest Entities Included in Consolidated Income Statement [Table Text Block]",
        "verboseLabel": "Schedule of joint venture operating activities included in the Company's consolidated statements of income"
       }
      }
     },
     "localname": "ScheduleOfOperatingActivitiesOfVariableInterestEntitiesIncludedInConsolidatedIncomeStatementTableTextBlock",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that are scheduled to vest.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, To Vest, Number of Shares",
        "terseLabel": "Number of Units to Vest"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsToVestNumberOfShares",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of vested equity instruments other than options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding Vested, Number",
        "terseLabel": "Number of vested units"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingVestedNumber",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "prim_ShareBasedCompensationAwardTrancheFourMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fourth portion of share-based compensation award differentiated by a particular vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share Based Compensation Award Tranche Four [Member]",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheFourMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_StockholdersEquityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Stockholders Equity [Line Items]",
        "terseLabel": "Stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquityLineItems",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "prim_TopTenCustomersMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the top ten customers of the entity.",
        "label": "Top Ten Customers [Member]",
        "terseLabel": "Top ten customers"
       }
      }
     },
     "localname": "TopTenCustomersMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_TotalAssetsPercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The percentage of assets to total assets.",
        "label": "% of total assets"
       }
      }
     },
     "localname": "TotalAssetsPercentage",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "prim_UAndDSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Pertaining to the Utilities and Distribution segment.",
        "label": "U And D Segment [Member]",
        "terseLabel": "Utilities"
       }
      }
     },
     "localname": "UAndDSegmentMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails",
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_UnitPriceContractsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for Unit-price contract.",
        "label": "Unit Price Contracts [Member]",
        "terseLabel": "Unit price"
       }
      }
     },
     "localname": "UnitPriceContractsMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "prim_UtilityTransmissionAndDistributionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member represents information regarding Transmission and Distribution segment.",
        "label": "Utility Transmission And Distribution [Member]",
        "terseLabel": "Transmission"
       }
      }
     },
     "localname": "UtilityTransmissionAndDistributionMember",
     "nsuri": "http://www.primoriscorp.com/20200504",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails",
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ExecutiveOfficerMember": {
     "auth_ref": [
      "r123"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Executive Officer [Member]",
        "terseLabel": "Executives"
       }
      }
     },
     "localname": "ExecutiveOfficerMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_LitigationCaseAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Litigation Case [Axis]"
       }
      }
     },
     "localname": "LitigationCaseAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_LitigationCaseTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Litigation Case Type [Domain]",
        "terseLabel": "Litigation Case [Domain]"
       }
      }
     },
     "localname": "LitigationCaseTypeDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r121",
      "r177",
      "r181",
      "r321"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails",
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Name Of Major Customer [Domain]",
        "terseLabel": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_OwnershipAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "localname": "OwnershipAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails",
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_OwnershipDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Ownership [Domain]",
        "terseLabel": "Ownership [Domain]"
       }
      }
     },
     "localname": "OwnershipDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails",
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails",
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails",
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Range [Member]",
        "terseLabel": "Range [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails",
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails",
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Segment Geographical [Domain]",
        "terseLabel": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r120",
      "r177",
      "r180",
      "r320",
      "r327",
      "r328"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r123",
      "r280"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Title Of Individual With Relationship To Entity [Domain]",
        "terseLabel": "Relationship to Entity [Domain]"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Basis of Presentation"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "auth_ref": [
      "r25"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.",
        "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]",
        "terseLabel": "Accounts Payable and Accrued Liabilities"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r24"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedInsuranceCurrent": {
     "auth_ref": [
      "r4",
      "r5",
      "r29"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Insurance, Current",
        "terseLabel": "Casualty insurance reserves"
       }
      }
     },
     "localname": "AccruedInsuranceCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r29"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Accrued liabilities",
        "totalLabel": "Total accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Accrued Liabilities, Current [Abstract]",
        "terseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r45",
      "r46",
      "r47"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive (loss) income"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r44",
      "r47",
      "r48",
      "r223"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "Accumulated Other Comprehensive Income [Member]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r16"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid In Capital [Member]",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for restricted stock unit under share-based payment arrangement.",
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Restricted Stock Unit or Restricted Stock Award, Requisite Service Period Recognition",
        "terseLabel": "Amortization of Restricted Stock Units"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net (loss) income to net cash used in operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r188",
      "r196",
      "r199"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Allocated Share-based Compensation Expense",
        "terseLabel": "Compensation expense recognized"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r81",
      "r130",
      "r136"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization expense of intangible assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r102"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Anti-dilutive shares"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r102"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "terseLabel": "Anti-dilutive shares"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r102"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities Name [Domain]",
        "terseLabel": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r116",
      "r294",
      "r307"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsAndLiabilitiesLesseeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Assets and Liabilities, Lessee [Abstract]",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "AssetsAndLiabilitiesLesseeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r2",
      "r3",
      "r38"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Assets, Fair Value Disclosure [Abstract]",
        "terseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsFairValueDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r190",
      "r198"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r236",
      "r241"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]",
        "terseLabel": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r92"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).  Accounting policies describe all significant accounting policies of the reporting entity.",
        "label": "Basis of Presentation and Significant Accounting Policies [Text Block]",
        "terseLabel": "Basis of Presentation"
       }
      }
     },
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r208",
      "r209"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1": {
     "auth_ref": [
      "r80",
      "r216"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in the value of right to a contingent consideration asset.",
        "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Asset",
        "terseLabel": "Change in contingent consideration"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationAsset": {
     "auth_ref": [
      "r213",
      "r214",
      "r215"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of asset recognized arising from contingent consideration in a business combination.",
        "label": "Business Combination, Contingent Consideration, Asset",
        "terseLabel": "Earnout"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationAsset",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationAssetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Business Combination, Contingent Consideration, Asset [Abstract]",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationAssetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_Cash": {
     "auth_ref": [
      "r22",
      "r323",
      "r324"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash",
        "terseLabel": "Cash"
       }
      }
     },
     "localname": "Cash",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r1",
      "r22",
      "r83"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents, Fair Value Disclosure",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r77",
      "r83",
      "r85"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and cash equivalents at end of the year",
        "periodStartLabel": "Cash and cash equivalents at beginning of the year"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r77",
      "r263"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net change in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassificationOfVariableInterestEntityDomain": {
     "auth_ref": [
      "r225",
      "r226",
      "r227",
      "r228"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Categorization of Variable Interest Entities (VIE) for consolidation and (or) disclosure purposes, whether individually or in aggregate, by: (1) VIEs consolidated because the entity is the primary beneficiary, (2) VIEs not consolidated because the entity is not the primary beneficiary, and (3) VIEs or potential VIEs that are not consolidated because necessary information is not available. In general, a VIE is a corporation, partnership, trust, or any other legal structure used for business purposes that either (a) does not have equity investors with voting rights or (b) has equity investors that do not provide sufficient financial resources for the entity to support its activities. A VIE often holds financial assets, including loans or receivables, real estate or other property. A VIE may be essentially passive or it may engage in research and development or other activities on behalf of another company.",
        "label": "Classification Of Variable Interest Entity [Domain]",
        "terseLabel": "Variable Interest Entity, Classification [Domain]"
       }
      }
     },
     "localname": "ClassificationOfVariableInterestEntityDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r33",
      "r146",
      "r299",
      "r315"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies",
        "verboseLabel": "Commitments and contingencies (See Note 16)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Commitments and Contingencies."
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r145",
      "r153"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "auth_ref": [
      "r165"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding.",
        "label": "Common Stock, Dividends, Per Share, Declared",
        "terseLabel": "Dividends per common share (in dollars per share)",
        "verboseLabel": "Cash dividend declared (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockDividendsPerShareDeclared",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails",
      "http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquityParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Common Stock, Number of Shares, Par Value and Other Disclosures [Abstract]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r14"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r14"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r14"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r14",
      "r160"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r14"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "verboseLabel": "Common stock-$.0001 par value; 90,000,000 shares authorized; 48,254,575 and 48,665,138 issued and outstanding at March 31, 2020 and December 31, 2019, respectively"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r50",
      "r52",
      "r53"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive (loss) income attributable to Primoris"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]",
        "terseLabel": "Other comprehensive (loss) income, net of tax:"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r50",
      "r52",
      "r219",
      "r231"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "totalLabel": "Comprehensive (loss) income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r108",
      "r109",
      "r257",
      "r258"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r108",
      "r109",
      "r257",
      "r258",
      "r322"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r108",
      "r109",
      "r257",
      "r258",
      "r322"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Concentration Risk [Line Items]",
        "terseLabel": "Customer concentration"
       }
      }
     },
     "localname": "ConcentrationRiskLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r108",
      "r109",
      "r257",
      "r258"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Percentage of concentration risk"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r106",
      "r108",
      "r109",
      "r110",
      "r257",
      "r259"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Concentration Risk [Table]"
       }
      }
     },
     "localname": "ConcentrationRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r108",
      "r109",
      "r257",
      "r258"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractReceivableRetainage": {
     "auth_ref": [
      "r35",
      "r290"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount billed to customers under long-term contracts or programs that have been withheld because of retainage provisions in a contract.",
        "label": "Contract Receivable Retainage",
        "terseLabel": "Retention receivable"
       }
      }
     },
     "localname": "ContractReceivableRetainage",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract": {
     "auth_ref": [
      "r172"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from contract modification which increases (decreases) right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "Contract with Customer, Asset, Cumulative Catch-up Adjustment to Revenue, Modification of Contract",
        "terseLabel": "Amount of unapproved contract modifications recognized as revenue on a cumulative catch-up basis"
       }
      }
     },
     "localname": "ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "auth_ref": [
      "r169",
      "r171",
      "r178"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.",
        "label": "Contract with Customer, Asset, Net, Current",
        "terseLabel": "Contract assets",
        "totalLabel": "Contract assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerBasisOfPricingAxis": {
     "auth_ref": [
      "r182"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by basis of pricing for contract representing right to consideration in exchange for good or service transferred to customer.",
        "label": "Contract with Customer, Basis of Pricing [Axis]"
       }
      }
     },
     "localname": "ContractWithCustomerBasisOfPricingAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerBasisOfPricingDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Basis of pricing for contract with customer. Includes, but is not limited to, fixed-price and time-and-materials contracts.",
        "label": "Contract With Customer Basis Of Pricing [Domain]",
        "terseLabel": "Contract with Customer, Basis of Pricing [Domain]"
       }
      }
     },
     "localname": "ContractWithCustomerBasisOfPricingDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r169",
      "r170",
      "r178"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Contract liabilities",
        "totalLabel": "Contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r179"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "terseLabel": "Revenue recognized included in contract liability at beginning of period"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod": {
     "auth_ref": [
      "r173"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Contract with Customer, Performance Obligation Satisfied in Previous Period",
        "terseLabel": "Revenue recognized from performance obligations satisfied in previous periods"
       }
      }
     },
     "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r62"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Services, Excluding Depreciation, Depletion, and Amortization",
        "terseLabel": "Cost of revenue"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r107"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer concentration"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r212"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.",
        "label": "Customer Relationships [Member]",
        "terseLabel": "Customer relationships"
       }
      }
     },
     "localname": "CustomerRelationshipsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Credit Arrangements"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r159"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Credit Arrangements"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r11",
      "r157",
      "r296",
      "r305"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Long-term Debt, Gross",
        "terseLabel": "Total debt"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Credit arrangements"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails",
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r31",
      "r88",
      "r161",
      "r162",
      "r163",
      "r164",
      "r266",
      "r267",
      "r269",
      "r304"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails",
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtWeightedAverageInterestRate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average interest rate of debt outstanding.",
        "label": "Debt, Weighted Average Interest Rate",
        "terseLabel": "Weighted average interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtWeightedAverageInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r204"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred tax assets"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r201",
      "r204"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Tax Liabilities, Net, Noncurrent",
        "verboseLabel": "Deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r81",
      "r114"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.",
        "label": "Derivative Contract Type [Domain]",
        "terseLabel": "Derivative Contract [Domain]"
       }
      }
     },
     "localname": "DerivativeContractTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails",
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails",
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeLiability": {
     "auth_ref": [
      "r39",
      "r42",
      "r239",
      "r289"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.",
        "label": "Derivative Liability, Fair Value, Gross Liability",
        "terseLabel": "Derivative liability"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "auth_ref": [
      "r237",
      "r240",
      "r242",
      "r245"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of derivative contract.",
        "label": "Derivative Instrument [Axis]"
       }
      }
     },
     "localname": "DerivativeInstrumentRiskAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails",
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails",
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Derivative Instruments"
       }
      }
     },
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": {
     "auth_ref": [
      "r247"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.",
        "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]",
        "terseLabel": "Derivative Instruments"
       }
      }
     },
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstruments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Derivative Instruments and Hedging Activities Disclosures [Line Items]",
        "terseLabel": "Derivative Instruments"
       }
      }
     },
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails",
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about derivatives and hedging activities.",
        "label": "Derivative Instruments and Hedging Activities Disclosures [Table]"
       }
      }
     },
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails",
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeLiabilities": {
     "auth_ref": [
      "r40",
      "r41",
      "r256"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Liability",
        "terseLabel": "Liability Derivatives"
       }
      }
     },
     "localname": "DerivativeLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLiabilityNotionalAmount": {
     "auth_ref": [
      "r233",
      "r234",
      "r235"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Nominal or face amount used to calculate payments on the derivative liability.",
        "label": "Derivative Liability, Notional Amount",
        "terseLabel": "Notional Amount"
       }
      }
     },
     "localname": "DerivativeLiabilityNotionalAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLossOnDerivative": {
     "auth_ref": [
      "r238"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of decrease in the fair value of derivatives recognized in the income statement.",
        "label": "Derivative, Loss on Derivative",
        "terseLabel": "Amount of Loss Recognized on Derivatives"
       }
      }
     },
     "localname": "DerivativeLossOnDerivative",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Disaggregation of Revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r177"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Schedule of revenue disaggregation by various categories"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r200"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]",
        "terseLabel": "Stock-Based Compensation"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Stock-Based Compensation"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DividendsCashAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Dividends, Cash [Abstract]",
        "terseLabel": "Cash Dividend"
       }
      }
     },
     "localname": "DividendsCashAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DividendsCommonStockCash": {
     "auth_ref": [
      "r165"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.",
        "label": "Dividends, Common Stock, Cash",
        "negatedLabel": "Dividends declared"
       }
      }
     },
     "localname": "DividendsCommonStockCash",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsDeclaredTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of information related to dividends declared, including paid and unpaid dividends.",
        "label": "Dividends Declared [Table Text Block]",
        "terseLabel": "Schedule of cash dividends paid or declared"
       }
      }
     },
     "localname": "DividendsDeclaredTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DividendsPayableCurrent": {
     "auth_ref": [
      "r5",
      "r29"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Dividends Payable, Current",
        "terseLabel": "Dividends payable"
       }
      }
     },
     "localname": "DividendsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsPayableCurrentAndNoncurrent": {
     "auth_ref": [
      "r10",
      "r12",
      "r295",
      "r308"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding.",
        "label": "Dividends Payable",
        "terseLabel": "Dividends declared and not yet paid"
       }
      }
     },
     "localname": "DividendsPayableCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DueFromAffiliateNoncurrent": {
     "auth_ref": [
      "r7",
      "r87",
      "r279",
      "r280",
      "r281",
      "r282",
      "r293",
      "r306",
      "r325"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of receivables due from an entity that is affiliated with the reporting entity by means of direct or indirect ownership, due after 1 year (or 1 business cycle).",
        "label": "Due from Affiliate, Noncurrent",
        "terseLabel": "Due from Primoris"
       }
      }
     },
     "localname": "DueFromAffiliateNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Earnings Per Share",
        "verboseLabel": "(Loss) earnings per share:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r59",
      "r93",
      "r97",
      "r99",
      "r100",
      "r101",
      "r104",
      "r302",
      "r317"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Basic (in dollars per share)",
        "verboseLabel": "Basic earnings per share (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Earnings Per Share, Basic and Diluted [Abstract]",
        "terseLabel": "(loss) earnings per share attributable to Primoris:"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r59",
      "r93",
      "r97",
      "r99",
      "r100",
      "r101",
      "r104",
      "r302",
      "r317"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted (in dollars per share)",
        "verboseLabel": "Diluted earnings per share (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r263"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "terseLabel": "Effect of exchange rate changes on cash and cash equivalents"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r90",
      "r202",
      "r203"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "terseLabel": "Effective tax rate on income before provision for income taxes including income attributable to noncontrolling interests (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r202",
      "r203",
      "r205"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "terseLabel": "Federal statutory income tax rate (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r29"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Employee-related Liabilities, Current",
        "terseLabel": "Payroll and related employee benefits"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r197"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Period to recognize unrecognized compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r197"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options",
        "terseLabel": "Unrecognized compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r160"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "terseLabel": "Fair value measurements"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r248",
      "r249",
      "r250",
      "r254"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r184",
      "r185",
      "r186",
      "r249",
      "r285"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value, Hierarchy [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r248",
      "r249",
      "r251",
      "r252",
      "r255"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by measurement frequency.",
        "label": "Measurement Frequency [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementFrequencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Fair Value Measurements"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r253"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "Fair Value Measurements"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r184",
      "r185",
      "r186",
      "r249",
      "r286"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Fair Value Inputs Level1 [Member]",
        "terseLabel": "Quoted Prices in Active Markets for Identical Assets (Level 1)"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r184",
      "r185",
      "r186",
      "r249",
      "r287"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.",
        "label": "Fair Value Inputs Level2 [Member]",
        "terseLabel": "Significant Other Observable Inputs (Level2)"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r184",
      "r185",
      "r186",
      "r249",
      "r288"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value Inputs Level3 [Member]",
        "terseLabel": "Significant Unobservable Inputs (Level 3)"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Measurement frequency.",
        "label": "Fair Value Measurement Frequency [Domain]",
        "terseLabel": "Fair Value, Measurement Frequency [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Measurements Fair Value Hierarchy [Domain]",
        "terseLabel": "Fair Value Hierarchy [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r253",
      "r255"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.",
        "label": "Fair Value Measurements Recurring [Member]",
        "terseLabel": "Recurring"
       }
      }
     },
     "localname": "FairValueMeasurementsRecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Weighted Average Life"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r135"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "auth_ref": [],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year",
        "terseLabel": "2020 (remaining nine months)"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r137"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r137"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r137"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r137"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r131",
      "r132",
      "r135",
      "r138",
      "r291"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Estimated future amortization expense for intangible assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r135",
      "r291"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Amount"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "Intangible assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r131",
      "r134"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite Lived Intangible Assets Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FixedPriceContractMember": {
     "auth_ref": [
      "r182"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contract with customer in which amount of consideration is fixed.",
        "label": "Fixed Price Contract [Member]",
        "terseLabel": "Fixed price"
       }
      }
     },
     "localname": "FixedPriceContractMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "auth_ref": [
      "r260",
      "r261",
      "r262"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.",
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "terseLabel": "Foreign exchange (loss) gain"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r81"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "negatedLabel": "Gain on sale of property and equipment"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r125",
      "r126"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Goodwill and Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r139"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "verboseLabel": "Goodwill and Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Goodwill [Line Items]",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "GoodwillLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "terseLabel": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails",
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r57",
      "r93",
      "r292",
      "r300",
      "r318"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "totalLabel": "(Loss) income before provision for income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF INCOME"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r141"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r207"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureIncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r86",
      "r115",
      "r206"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "negatedLabel": "Provision for income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r84"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income Taxes Paid",
        "terseLabel": "Cash paid for income taxes, net of refunds received"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "verboseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "negatedLabel": "Contract assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "terseLabel": "Contract liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in current assets classified as other.",
        "label": "Increase (Decrease) in Other Current Assets",
        "negatedLabel": "Other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Assets",
        "negatedLabel": "Other long-term assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Liabilities",
        "terseLabel": "Other long-term liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInReceivables": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the total amount due within one year (or one operating cycle) from all parties, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Receivables",
        "negatedLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInReceivables",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity Roll Forward"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r98",
      "r103"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Dilutive effect of restricted stock units"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r129",
      "r133"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "terseLabel": "Intangible assets, net",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r55",
      "r113",
      "r265",
      "r268",
      "r303"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 5.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "negatedLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseMember": {
     "auth_ref": [
      "r244"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing interest expense.",
        "label": "Interest Expense [Member]",
        "terseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r75",
      "r78",
      "r84"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid",
        "terseLabel": "Cash paid for interest"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestRateSwapMember": {
     "auth_ref": [
      "r243"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.",
        "label": "Interest Rate Swap [Member]",
        "terseLabel": "Interest rate swap"
       }
      }
     },
     "localname": "InterestRateSwapMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails",
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails",
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryForLongTermContractsOrPrograms": {
     "auth_ref": [
      "r37"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves, and progress payments, of inventory associated with long-term contracts, expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory for Long-term Contracts or Programs, Gross",
        "terseLabel": "Contract materials (not yet installed)"
       }
      }
     },
     "localname": "InventoryForLongTermContractsOrPrograms",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentIncomeNet": {
     "auth_ref": [
      "r64",
      "r65",
      "r66"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities.",
        "label": "Investment Income, Interest",
        "terseLabel": "Interest income"
       }
      }
     },
     "localname": "InvestmentIncomeNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Components of lease expense"
       }
      }
     },
     "localname": "LeaseCostAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r276"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Summary of components of lease expense"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Leases"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": {
     "auth_ref": [
      "r273"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicates (true false) whether lessee has option to extend operating lease.",
        "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]",
        "terseLabel": "Options to extend leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "booleanItemType"
    },
    "us-gaap_LesseeOperatingLeaseRenewalTerm": {
     "auth_ref": [
      "r273"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Renewal Term",
        "terseLabel": "Renewal term"
       }
      }
     },
     "localname": "LesseeOperatingLeaseRenewalTerm",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r278"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LetterOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit).",
        "label": "Letter Of Credit [Member]",
        "terseLabel": "Commercial letters of credit"
       }
      }
     },
     "localname": "LetterOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LettersOfCreditOutstandingAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.",
        "label": "Letters of Credit Outstanding, Amount",
        "terseLabel": "Letters of credit outstanding"
       }
      }
     },
     "localname": "LettersOfCreditOutstandingAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails",
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r28"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r18",
      "r298",
      "r312"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders' equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r30"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesFairValueDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Liabilities, Fair Value Disclosure [Abstract]",
        "terseLabel": "Liabilities"
       }
      }
     },
     "localname": "LiabilitiesFairValueDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r11",
      "r296",
      "r305"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Line of Credit Facility, Amount Outstanding",
        "terseLabel": "Borrowings outstanding"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r26"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Maximum borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "auth_ref": [
      "r26"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "terseLabel": "Available borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LitigationSettlementAmountAwardedToOtherParty": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount awarded to other party in judgment or settlement of litigation.",
        "label": "Litigation Settlement, Amount",
        "terseLabel": "Expected remediation cost on settlement"
       }
      }
     },
     "localname": "LitigationSettlementAmountAwardedToOtherParty",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansPayableMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Borrowing supported by a written promise to pay an obligation.",
        "label": "Loans Payable [Member]",
        "terseLabel": "Term Loan"
       }
      }
     },
     "localname": "LoansPayableMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails",
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r11",
      "r158",
      "r296",
      "r309"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt",
        "totalLabel": "Total debt, net"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r27"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      },
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt, Current Maturities",
        "negatedLabel": "Less: current portion",
        "terseLabel": "Current portion of long-term debt"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r31"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      },
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt, Excluding Current Maturities",
        "terseLabel": "Long-term debt, net of current portion"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r31"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails",
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r31",
      "r156"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Longterm Debt Type [Domain]",
        "terseLabel": "Long-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails",
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LossContingenciesByNatureOfContingencyAxis": {
     "auth_ref": [
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r152",
      "r154",
      "r155"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur.",
        "label": "Loss Contingency Nature [Axis]"
       }
      }
     },
     "localname": "LossContingenciesByNatureOfContingencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Loss Contingencies [Line Items]",
        "terseLabel": "Commitments and contingencies"
       }
      }
     },
     "localname": "LossContingenciesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesTable": {
     "auth_ref": [
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r152",
      "r154",
      "r155"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.",
        "label": "Loss Contingencies [Table]"
       }
      }
     },
     "localname": "LossContingenciesTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingencyNatureDomain": {
     "auth_ref": [
      "r146",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r152",
      "r154",
      "r155"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability.",
        "label": "Loss Contingency Nature [Domain]",
        "terseLabel": "Loss Contingency, Nature [Domain]"
       }
      }
     },
     "localname": "LossContingencyNatureDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MinorityInterest": {
     "auth_ref": [
      "r36",
      "r297",
      "r311"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).",
        "label": "Stockholders' Equity Attributable to Noncontrolling Interest",
        "terseLabel": "Noncontrolling interest"
       }
      }
     },
     "localname": "MinorityInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": {
     "auth_ref": [
      "r165"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.",
        "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders",
        "negatedLabel": "Distribution of noncontrolling entities"
       }
      }
     },
     "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestDisclosureTextBlock": {
     "auth_ref": [
      "r232"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock.",
        "label": "Noncontrolling Interest Disclosure [Text Block]",
        "terseLabel": "Noncontrolling Interests"
       }
      }
     },
     "localname": "MinorityInterestDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterests"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_MinorityInterestLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Noncontrolling Interest [Line Items]",
        "terseLabel": "Noncontrolling Interests"
       }
      }
     },
     "localname": "MinorityInterestLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MinorityInterestOwnershipPercentageByParent": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage.",
        "label": "Percentage of Ownership Interest",
        "terseLabel": "Ownership percentage",
        "verboseLabel": "Ownership interest (as a percent)"
       }
      }
     },
     "localname": "MinorityInterestOwnershipPercentageByParent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails",
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_MinorityInterestTable": {
     "auth_ref": [
      "r36",
      "r61",
      "r218",
      "r224"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of noncontrolling interest disclosure which includes the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock.",
        "label": "Noncontrolling Interest [Table]"
       }
      }
     },
     "localname": "MinorityInterestTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MortgagesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A loan to finance the purchase of real estate where the lender has a lien on the property as collateral for the loan.",
        "label": "Mortgages [Member]",
        "terseLabel": "Mortgages"
       }
      }
     },
     "localname": "MortgagesMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r105",
      "r111"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "Nature of Business"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNatureOfBusiness"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations",
        "totalLabel": "Net cash (used in) provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r77",
      "r79",
      "r82"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations",
        "totalLabel": "Net cash used in operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r49",
      "r51",
      "r58",
      "r82",
      "r103",
      "r301",
      "r316"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Available to Common Stockholders, Basic",
        "totalLabel": "Net (loss) income attributable to Primoris",
        "verboseLabel": "Net (loss) income attributable to Primoris"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Income (Loss) Attributable to Parent [Abstract]",
        "terseLabel": "Numerator:"
       }
      }
     },
     "localname": "NetIncomeLossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r49",
      "r51",
      "r221",
      "r230"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0
      },
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.",
        "label": "Net Income (Loss) Attributable to Noncontrolling Interest",
        "negatedLabel": "Less net income attributable to noncontrolling interests",
        "terseLabel": "Net income attributable to noncontrolling interests"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Recent Accounting Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "auth_ref": [
      "r94"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.",
        "label": "New Accounting Pronouncements and Changes in Accounting Principles [Text Block]",
        "terseLabel": "Recent Accounting Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRecentAccountingPronouncements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Noncash Investing and Financing Items [Abstract]",
        "terseLabel": "SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES"
       }
      }
     },
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "auth_ref": [
      "r211"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.",
        "label": "Noncompete Agreements [Member]",
        "terseLabel": "Non-compete agreements"
       }
      }
     },
     "localname": "NoncompeteAgreementsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NoncontrollingInterestAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Noncontrolling Interests"
       }
      }
     },
     "localname": "NoncontrollingInterestAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoncontrollingInterestMember": {
     "auth_ref": [
      "r217"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest.",
        "label": "Noncontrolling Interest [Member]",
        "terseLabel": "Non Controlling Interest"
       }
      }
     },
     "localname": "NoncontrollingInterestMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other income (expense):"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of reportable segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails",
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Operating income"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r274",
      "r277"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating lease expense"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Operating Lease Liabilities, Payments Due [Abstract]",
        "terseLabel": "Future minimum lease payments under non-cancelable operating leases"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r271"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "totalLabel": "Operating lease liabilities",
        "verboseLabel": "Total"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails",
      "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r271"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Accrued liabilities",
        "verboseLabel": "Current operating lease liability"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails",
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r272"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.",
        "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "extensibleListItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r271"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Noncurrent operating lease liabilities, net of current portion"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r272"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes noncurrent operating lease liability.",
        "label": "Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "extensibleListItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r270"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "verboseLabel": "Operating lease assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Nature of Business"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r4",
      "r5",
      "r6",
      "r29"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r23"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other long-term assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r43",
      "r264"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Foreign currency translation adjustments",
        "verboseLabel": "Foreign currency translation adjustments, net of tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherIntangibleAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Intangible assets classified as other.",
        "label": "Other Intangible Assets [Member]",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherIntangibleAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r32"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Noncurrent",
        "terseLabel": "Other long-term liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncashExpense": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of expense or loss included in net income that result in no cash flow, classified as other.",
        "label": "Other Noncash Expense",
        "terseLabel": "Other non-cash items"
       }
      }
     },
     "localname": "OtherNoncashExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncurrentLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other noncurrent liabilities.",
        "label": "Other Noncurrent Liabilities [Member]",
        "terseLabel": "Other long-term liabilities"
       }
      }
     },
     "localname": "OtherNoncurrentLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "terseLabel": "Other income (expense), net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PartnersCapitalAccountDistributions": {
     "auth_ref": [
      "r165",
      "r166"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total distributions to each class of partners (i.e., general, limited and preferred partners).",
        "label": "Partners' Capital Account, Distributions",
        "terseLabel": "Distributions to partners"
       }
      }
     },
     "localname": "PartnersCapitalAccountDistributions",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Accounts Payable and Accrued Liabilities"
       }
      }
     },
     "localname": "PayablesAndAccrualsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r72"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Repurchase of common stock"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "auth_ref": [
      "r72"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.",
        "label": "Payments of Ordinary Dividends, Common Stock",
        "negatedLabel": "Dividends paid"
       }
      }
     },
     "localname": "PaymentsOfDividendsCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r68"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchase of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r190",
      "r198"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]",
        "terseLabel": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r2",
      "r20",
      "r21"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from the additional capital contribution to the entity.",
        "label": "Proceeds from Issuance of Common Stock",
        "terseLabel": "Proceeds from issuance of common stock purchased under a long-term incentive plan"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.",
        "label": "Proceeds from Issuance of Long-term Debt",
        "terseLabel": "Proceeds from issuance of long-term debt"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "auth_ref": [
      "r70",
      "r89"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Proceeds from Lines of Credit",
        "terseLabel": "Borrowings under revolving line of credit"
       }
      }
     },
     "localname": "ProceedsFromLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMinorityShareholders": {
     "auth_ref": [
      "r71"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow from a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.",
        "label": "Proceeds from Noncontrolling Interests",
        "terseLabel": "Capital contributions"
       }
      }
     },
     "localname": "ProceedsFromMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": {
     "auth_ref": [
      "r71",
      "r74",
      "r91"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities classified as other.",
        "label": "Proceeds from (Payments for) Other Financing Activities",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "ProceedsFromPaymentsForOtherFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r67"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "terseLabel": "Proceeds from sale of property and equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r49",
      "r51",
      "r76",
      "r116",
      "r119",
      "r219",
      "r220",
      "r222",
      "r230",
      "r231"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      },
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net (loss) income",
        "totalLabel": "Net (loss) income"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveLossIncome",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r8",
      "r9",
      "r140",
      "r314"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivablesNetCurrent": {
     "auth_ref": [
      "r15",
      "r19",
      "r313",
      "r326"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value.",
        "label": "Receivables, Net, Current",
        "terseLabel": "Accounts receivable, net",
        "verboseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "ReceivablesNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLinesOfCredit": {
     "auth_ref": [
      "r73",
      "r89"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Repayments of Lines of Credit",
        "negatedLabel": "Payments on revolving line of credit"
       }
      }
     },
     "localname": "RepaymentsOfLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r73"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "Repayments of Long-term Debt",
        "negatedLabel": "Repayment of long-term debt"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units R S U [Member]",
        "terseLabel": "Restricted Stock Units"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails",
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r17",
      "r165",
      "r310"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r176",
      "r177"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Revenue",
        "verboseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails",
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails",
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails",
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r183"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "Revenue from Contract with Customer [Text Block]",
        "verboseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r174"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation",
        "terseLabel": "Remaining performance obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "terseLabel": "Revenue expected timing"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 1",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in CCYY-MM-DD format.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligations2020Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "terseLabel": "Revenues and total assets by geographic area"
       }
      }
     },
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Credit Facility"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r275",
      "r277"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "verboseLabel": "Leased assets obtained in exchange for new operating leases"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r108"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.",
        "label": "Sales Revenue Net [Member]",
        "terseLabel": "Revenues"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "terseLabel": "Summary of accrued liabilities"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "auth_ref": [
      "r102"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareAntiDilutiveSharesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "auth_ref": [
      "r208",
      "r209"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "auth_ref": [
      "r31",
      "r88",
      "r161",
      "r162",
      "r163",
      "r164",
      "r266",
      "r267",
      "r269",
      "r304"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table Text Block]",
        "terseLabel": "Schedule of long-term debt and credit facilities"
       }
      }
     },
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of derivative assets at fair value.",
        "label": "Schedule of Derivative Assets at Fair Value [Table Text Block]",
        "terseLabel": "Schedule of fair values of our derivative contracts included in the Condensed Consolidated Balance Sheets"
       }
      }
     },
     "localname": "ScheduleOfDerivativeAssetsAtFairValueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "auth_ref": [
      "r237",
      "r242",
      "r246"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.",
        "label": "Derivative Instruments, Gain (Loss) [Table Text Block]",
        "terseLabel": "Schedule of derivative instruments within the Condensed Consolidated Statements of Income"
       }
      }
     },
     "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r103"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of computation of basic and diluted earnings per share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "auth_ref": [
      "r248",
      "r249"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).",
        "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]",
        "terseLabel": "Schedule of financial assets and liabilities which are required to be measured at fair value"
       }
      }
     },
     "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r131",
      "r134"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r131",
      "r134"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Summary of intangible asset categories, amounts and the average amortization periods"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "auth_ref": [
      "r127",
      "r128"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.",
        "label": "Schedule of Goodwill [Table]"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r127",
      "r128"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill by Reporting Unit [Table Text Block]",
        "terseLabel": "Schedule of goodwill by reporting unit"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [
      "r192"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units.",
        "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]",
        "terseLabel": "Schedule of units activity"
       }
      }
     },
     "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "auth_ref": [
      "r54",
      "r56",
      "r120"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material.  An entity may also provide subtotals of geographic information about groups of countries.",
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r112",
      "r116",
      "r117",
      "r118",
      "r127"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r112",
      "r116",
      "r117",
      "r118",
      "r127"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Schedule of revenue and gross profit by segment"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r190",
      "r198"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r134"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of estimated future amortization expense for intangible assets"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segment [Domain]",
        "terseLabel": "Segments [Domain]"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails",
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Reportable Segments"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Reportable Segments"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "Segment reporting information"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r63",
      "r124"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general and administrative expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Compensation",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r194"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Granted, Units",
        "verboseLabel": "Units granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r193"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "terseLabel": "Number of unvested units"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r187",
      "r191"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Share Based Compensation Arrangements By Share Based Payment Award Award Type And Plan Name [Domain]",
        "terseLabel": "Equity Award [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails",
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share Based Compensation Award Tranche One [Member]",
        "terseLabel": "2020 (remaining nine months)"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Third portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share Based Compensation Award Tranche Three [Member]",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheThreeMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Share Based Compensation Award Tranche Two [Member]",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharesIssued": {
     "auth_ref": [
      "r160"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.",
        "label": "Shares, Issued",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)"
       }
      }
     },
     "localname": "SharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r0",
      "r116",
      "r127",
      "r142",
      "r143",
      "r144",
      "r319"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails",
      "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails",
      "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r34",
      "r160"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "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.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "auth_ref": [
      "r13",
      "r14",
      "r160",
      "r165"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.",
        "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans",
        "terseLabel": "Shares of common stock issued under the long-term incentive plan"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "auth_ref": [
      "r13",
      "r14",
      "r160",
      "r165"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).",
        "label": "Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures",
        "terseLabel": "Shares of common stock issued as a part of quarterly compensation of non-employee members of the Board of Directors",
        "verboseLabel": "Issuance of shares to employees and/or directors (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "auth_ref": [
      "r13",
      "r14",
      "r160",
      "r165"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.",
        "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan",
        "terseLabel": "Amount received in exchange for shares of common stock under a long term incentive plan"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "auth_ref": [
      "r13",
      "r14",
      "r165",
      "r189",
      "r195"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Stock Issued During Period, Value Issued to Employees and Directors",
        "terseLabel": "Issuance of shares to employees and/or directors"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of stock repurchase plan authorized.",
        "label": "Stock Repurchase Program, Authorized Amount",
        "terseLabel": "Aggregate purchase price up to which shares can be acquired under share repurchase program"
       }
      }
     },
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": {
     "auth_ref": [
      "r13",
      "r14",
      "r160",
      "r165"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares that have been repurchased and retired during the period.",
        "label": "Stock Repurchased and Retired During Period, Shares",
        "terseLabel": "Number of shares purchased under share repurchase program"
       }
      }
     },
     "localname": "StockRepurchasedAndRetiredDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "auth_ref": [
      "r13",
      "r14",
      "r160",
      "r165"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).",
        "label": "Stock Repurchased and Retired During Period, Value",
        "terseLabel": "Amount paid for shares purchased under share repurchase program"
       }
      }
     },
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "auth_ref": [
      "r13",
      "r14",
      "r160",
      "r165"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Shares",
        "negatedLabel": "Repurchase of stock (in shares)"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "auth_ref": [
      "r13",
      "r14",
      "r160",
      "r165"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Value",
        "negatedLabel": "Repurchase of stock"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r217",
      "r218",
      "r229"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.",
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]",
        "terseLabel": "Stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets",
      "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Stockholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquityNoteAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r168"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Stockholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsequentEventLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.",
        "label": "Subsequent Event [Line Items]",
        "terseLabel": "Subsequent Events"
       }
      }
     },
     "localname": "SubsequentEventLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event [Member]",
        "terseLabel": "Subsequent Events"
       }
      }
     },
     "localname": "SubsequentEventMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventTable": {
     "auth_ref": [
      "r283"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.",
        "label": "Subsequent Event [Table]"
       }
      }
     },
     "localname": "SubsequentEventTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "auth_ref": [
      "r283"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Axis]"
       }
      }
     },
     "localname": "SubsequentEventTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "auth_ref": [
      "r283"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Domain]",
        "terseLabel": "Subsequent Event Type [Domain]"
       }
      }
     },
     "localname": "SubsequentEventTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Subsequent Events."
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r284"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "Subsequent Events"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureSubsequentEvent"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SuretyBondMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "An obligation arising from a three-party agreement that legally binds together a principal who needs the bond, an obligee who requires the bond and a surety company that sells the bond.",
        "label": "Surety Bond [Member]",
        "terseLabel": "Bonding"
       }
      }
     },
     "localname": "SuretyBondMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r27"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Taxes Payable, Current",
        "terseLabel": "Corporate income taxes and other taxes"
       }
      }
     },
     "localname": "TaxesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TradeNamesMember": {
     "auth_ref": [
      "r210"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.",
        "label": "Trade Names [Member]",
        "terseLabel": "Tradename"
       }
      }
     },
     "localname": "TradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockAcquiredAverageCostPerShare": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased.",
        "label": "Treasury Stock Acquired, Average Cost Per Share",
        "terseLabel": "Amount paid for shares purchased and cancelled under share repurchase program (per share)"
       }
      }
     },
     "localname": "TreasuryStockAcquiredAverageCostPerShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_TreasuryStockSharesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Treasury Stock, Shares [Abstract]",
        "terseLabel": "Share repurchase plan"
       }
      }
     },
     "localname": "TreasuryStockSharesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UnamortizedDebtIssuanceExpense": {
     "auth_ref": [
      "r23"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset.",
        "label": "Unamortized Debt Issuance Expense",
        "negatedLabel": "Unamortized debt issuance costs"
       }
      }
     },
     "localname": "UnamortizedDebtIssuanceExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnbilledReceivablesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.",
        "label": "Unbilled Receivables, Current",
        "terseLabel": "Unbilled revenue"
       }
      }
     },
     "localname": "UnbilledReceivablesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrealizedGainLossOnDerivatives": {
     "auth_ref": [
      "r81"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The net change in the difference between the fair value and the carrying value, or in the comparative fair values, of derivative instruments, including options, swaps, futures, and forward contracts, held at each balance sheet date, that was included in earnings for the period.",
        "label": "Unrealized Gain (Loss) on Derivatives",
        "negatedLabel": "Unrealized loss on interest rate swap"
       }
      }
     },
     "localname": "UnrealizedGainLossOnDerivatives",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis": {
     "auth_ref": [
      "r225",
      "r226",
      "r228"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by category of Variable Interest Entity (VIE).",
        "label": "Variable Interest Entities [Axis]"
       }
      }
     },
     "localname": "VariableInterestEntitiesByClassificationOfEntityAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureNoncontrollingInterestsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VestingAxis": {
     "auth_ref": [
      "r198"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Axis]"
       }
      }
     },
     "localname": "VestingAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VestingDomain": {
     "auth_ref": [
      "r198"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Domain]",
        "terseLabel": "Vesting [Domain]"
       }
      }
     },
     "localname": "VestingDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r96",
      "r101"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted (in shares)",
        "totalLabel": "Weighted average shares for computation of diluted (loss) earnings per share"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "terseLabel": "Weighted average common shares outstanding:",
        "verboseLabel": "Denominator:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r95",
      "r101"
     ],
     "calculation": {
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic (in shares)",
        "verboseLabel": "Weighted average shares for computation of basic earnings per share"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails",
      "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 9
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1337-109256"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117327953&loc=d3e4984-109258"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8721-108599"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8813-108599"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8906-108599"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(24))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9054-108599"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4647-111522"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=68048583&loc=d3e3636-108311"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=77989000&loc=SL49117168-202975"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13854-109267"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14326-108349"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14615-108349"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14394-108349"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14435-108349"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14453-108349"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14472-108349"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14557-108349"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=118943654&loc=d3e12021-110248"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=118943654&loc=d3e12053-110248"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=6802200&loc=SL6230698-112601"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6031897-161870"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6031897-161870"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.F)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=27012166&loc=d3e187171-122770"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130531-203044"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130532-203044"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130533-203044"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130551-203045"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL108322424-203045"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130543-203045"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130545-203045"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31931-109318"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32698-109319"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5263-128473"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5263-128473"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5333-128473"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6411-128476"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e7008-128479"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4568447-111683"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4568740-111683"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=118582676&loc=d3e5710-111685"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=118582676&loc=d3e5728-111685"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=118582676&loc=SL6759159-111685"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=118582676&loc=d3e5747-111685"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116874947&loc=SL4590271-111686"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116874947&loc=SL4591551-111686"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116874947&loc=SL4591552-111686"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "http://asc.fasb.org/topic&trid=2197479"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5580258-113959"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(c)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624181-113959"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "815",
   "URI": "http://asc.fasb.org/topic&trid=2229140"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a),20,24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13433-108611"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13531-108611"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13537-108611"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13537-108611"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30690-110894"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30700-110894"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450222&loc=d3e30840-110895"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b,c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28541-108399"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28551-108399"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28555-108399"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918631-209977"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918673-209980"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888399&loc=SL77918982-209971"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888251"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39622-107864"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=6918054&loc=d3e56071-112765"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "http://asc.fasb.org/topic&trid=2122774"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=SL51823488-111719"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(a)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=118388040&loc=d3e49370-109356"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(3))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(5))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6801-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(3))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(5))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=99380617&loc=SL75241803-196195"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-06(3)(a)(3))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=6488278&loc=d3e604059-122996"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-06(3))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=6488278&loc=d3e604059-122996"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=6589523&loc=d3e617274-123014"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=6590653&loc=d3e638233-123024"
  },
  "r329": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r331": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-13"
  },
  "r332": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1-"
  },
  "r333": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r334": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3(c)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a),(d))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6911-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226000-175313"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e637-108580"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e681-108580"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669686-108580"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL34724394-108580"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6935-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669625-108580"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669625-108580"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e557-108580"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-03(e))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868656-224227"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e7018-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.19)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(a),(b))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.8)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(11))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3367-108585"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3000-108585"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3521-108585"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3044-108585"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4297-108586"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=SL98516268-108586"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(e),(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24072-122690"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "http://asc.fasb.org/topic&trid=2122394"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1448-109256"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1505-109256"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1252-109256"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1500-109256"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=SL5780133-109256"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6637936816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Measurements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Schedule of financial assets and liabilities which are required to be measured at fair value</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value at March 31, 2020 and December 31, 2019 (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;Measurements&#160;at&#160;Reporting&#160;Date</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted&#160;Prices</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in&#160;Active&#160;Markets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">for&#160;Identical&#160;Assets</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level&#160;1)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level&#160;2)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level&#160;3)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of March&#160;31,&#160;2020:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 938</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities as of March&#160;31,&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">2020:  </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,414</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of December&#160;31,&#160;2019:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,286</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 938</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities as of December&#160;31,&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">2019:  </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6647737904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 15&#8212;Leases</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We lease administrative and various operational facilities, which are generally longer-term, project specific facilities or yards, and construction equipment under non-cancelable operating leases. We determine if an arrangement is a lease at inception. We have lease agreements with lease and non-lease components, which are generally accounted for separately. Operating leases are included in operating lease assets, accrued liabilities, and noncurrent operating lease liabilities on our Condensed Consolidated Balance Sheets. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Operating lease assets and operating lease liabilities are recognized at commencement date based on the present value of the future minimum lease payments over the lease term. In determining our lease term, we include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date to determine the present value of future payments. Lease expense from minimum lease payments is recognized on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our leases have remaining lease terms that expire at various dates through 2030, some of which may include options to extend the leases for up to 5 years. The exercise of lease extensions is at our sole discretion. Periodically, we sublease excess facility space, but any sublease income is generally not significant. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">The components of lease expense are as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri';font-size:14pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:37.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating lease expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,978</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(1)</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,513</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(1)</b></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">________________________________________</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Includes short-term leases which are immaterial. </span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 0pt;">Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden__JXUjXF_fUO7A8Od1LSBcw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Accrued liabilities</span></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,532</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,036</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_YU8jmKS8wUqFjBRDNoo_bA"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Noncurrent operating lease liabilities, net of current portion</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 176,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256,078</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 245,261</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6786489408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Payable and Accrued Liabilities<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Accounts Payable and Accrued Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Accounts Payable and Accrued Liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 7&#8212;Accounts Payable and Accrued Liabilities</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">At March 31, 2020 and December 31, 2019, accounts payable included retention amounts of approximately $10.9 million and $11.3 million, respectively. &#160;These amounts owed to subcontractors have been retained pending contract completion and customer acceptance of jobs.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of accrued liabilities (in thousands):</p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.24%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Payroll and related employee benefits </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,008</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,705</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current operating lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,036</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Casualty insurance reserves</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,902</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,918</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Corporate income taxes and other taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,822</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,027</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,384</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,815</p></td></tr><tr><td style="vertical-align:bottom;width:71.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 192,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 183,501</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a),20,24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6791145920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Recent Accounting Pronouncements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract', window );"><strong>Recent Accounting Pronouncements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note&#160;3&#8212;Recent Accounting Pronouncements</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Recently adopted accounting pronouncements</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In June 2016, the FASB issued ASU 2016-13, &#8220;Financial Instruments&#8212;Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&#8221;, which introduced an expected credit loss methodology for the measurement and recognition of credit losses on most financial assets, including trade accounts receivables. The expected credit loss methodology under ASU 2016-13 is based on historical experience, current conditions and reasonable and supportable forecasts, and replaces the probable/incurred loss model for measuring and recognizing expected losses under current GAAP. The ASU also requires disclosure of information regarding how a company developed its allowance, including changes in the factors that influenced management&#8217;s estimate of expected credit losses and the reasons for those changes. The ASU and its related clarifying updates are effective for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted. We adopted the new standard on January 1, 2020, and it did not have a material impact on our estimate of the allowance for uncollectable accounts.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In August 2018, the FASB issued ASU 2018-13, &#8220;<i style="font-style:italic;">Fair Value Measurement (Topic 820): Disclosure Framework&#8212;Changes to the Disclosure Requirements for Fair Value Measurement</i>&#8221;, which eliminates certain disclosure requirements for recurring and nonrecurring fair value measurements. The ASU eliminates such disclosures as the amount of and reasons for transfers between Level 1 and Level 2 of the fair value hierarchy, and adds new disclosure requirements for Level 3 measurements. This ASU is effective for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted for any eliminated or modified disclosures. We adopted the new standard on January 1, 2020, and it did not have a material impact on our disclosures.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Recently issued accounting pronouncements not yet adopted</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In December 2019, the FASB issued ASU No. 2019-12, &#8220;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#8221;, which removes certain exceptions to the general principles in Topic 740 and also clarifies and amends existing guidance to improve consistent application. This ASU is effective for fiscal years beginning after December 15, 2020, and interim periods within those fiscal years. Depending on the amendment, adoption may be applied on the retrospective, modified retrospective, or prospective basis. We are currently evaluating the potential effects of adopting the provisions of ASU No. 2019-12.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -URI http://asc.fasb.org/topic&amp;trid=2122394<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6791145920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Stock-Based Compensation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock-Based Compensation</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 11&#8212;Stock-Based Compensation</b></p><p style="font-family:'Times New Roman';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In May 2013, the shareholders approved and we adopted the Primoris Services Corporation 2013 Long-term Incentive Equity Plan (&#8220;Equity Plan&#8221;). Our Board of Directors has granted 607,361<span style="white-space:pre-wrap;"> Restricted Stock Units (&#8220;Units&#8221;), net of forfeitures, to employees under the Equity Plan.  The grants were documented in RSU Award Agreements, which provide for a vesting schedule and require continuing employment of the employee.  The Units are subject to earlier acceleration, termination, cancellation or forfeiture as provided in the underlying RSU Award Agreement. </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">At March 31, 2020, a total of 260,630 Units were vested. The vesting schedule for the remaining Units are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;Units</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For the Years Ending December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">to&#160;Vest</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020 (remaining nine months)</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,896</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 179,364</p></td></tr><tr><td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,415</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,056</p></td></tr><tr><td style="vertical-align:bottom;width:66.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.5%;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 346,731</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Under guidance of ASC Topic 718 &#8220;<i style="font-style:italic;">Compensation &#8212; Stock Compensation</i>&#8221;, stock-based compensation cost is measured at the date of grant, based on the calculated fair value of the stock-based award, and is recognized as expense over the employee&#8217;s requisite service period (generally the vesting period of the award).</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;">The fair value of the Units was based on the closing market price of our common stock on the day prior to the date of the grant.  Stock compensation expense for the Units is being amortized using the straight-line method over the service period.  We recognized </span>$0.5 million in compensation expense for each of the three months ended March 31, 2020 and 2019, respectively. At March 31, 2020, approximately $5.4 million of unrecognized compensation expense remained for the Units, which will be recognized over a weighted average period of 2.4 years.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Vested Units accrue &#8220;Dividend Equivalent Units&#8221; (as defined in the Equity Plan), which will be accrued as additional Units until the Units are converted to Common Stock.&#160; At March 31, 2020, a total of 2,401 Dividend Equivalent Units were accrued.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6648013296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock', window );">Schedule of fair values of our derivative contracts included in the Condensed Consolidated Balance Sheets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other long-term liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,414</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,443</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:26.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Schedule of derivative instruments within the Condensed Consolidated Statements of Income</a></td>
<td class="text"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:101.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:27.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location&#160;of Loss&#160;Recognized</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">on&#160;Derivatives</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:32.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">Interest expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,435</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,596</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of derivative assets at fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4E<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5624181-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5618551-113959<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6644652272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Summary of components of lease expense</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">The components of lease expense are as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri';font-size:14pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:37.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating lease expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,978</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(1)</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,513</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(1)</b></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">________________________________________</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Includes short-term leases which are immaterial. </span></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_prim_LesseeOperatingLeaseLiabilityTableTextBlock', window );">Summary of operating lease liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 0pt;">Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden__JXUjXF_fUO7A8Od1LSBcw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Accrued liabilities</span></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,532</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,036</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_YU8jmKS8wUqFjBRDNoo_bA"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Noncurrent operating lease liabilities, net of current portion</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 176,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256,078</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 245,261</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_prim_LesseeOperatingLeaseLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The tabular disclosure of operating lease liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">prim_LesseeOperatingLeaseLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>prim_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6645372608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Dividends and Earnings Per Share - Anti-dilutive shares (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2020 </div>
<div>shares</div>
</th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=prim_EquityIncentivePlan2013Member', window );">Equity Plan</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Anti-dilutive shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive shares</a></td>
<td class="nump">9<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Anti-dilutive shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive shares</a></td>
<td class="nump">300<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=prim_EquityIncentivePlan2013Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=prim_EquityIncentivePlan2013Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6800787616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Noncontrolling Interests (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterestLineItems', window );"><strong>Noncontrolling Interests</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 743,243<span></span>
</td>
<td class="nump">$ 661,558<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Net income attributable to noncontrolling interests</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">989<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">93,474<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 120,286<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReceivablesNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">416,412<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">404,911<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract assets</a></td>
<td class="nump">359,370<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">344,806<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">258,962<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">235,972<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="nump">$ 176,847<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">192,397<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_OwnershipAxis=prim_CarlsbadConstructorsJointVentureMember', window );">Carlsbad</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterestLineItems', window );"><strong>Noncontrolling Interests</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByParent', window );">Ownership interest (as a percent)</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis=prim_CarlsbadConstructorsJointVentureMember', window );">Carlsbad</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterestLineItems', window );"><strong>Noncontrolling Interests</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Net income attributable to noncontrolling interests</a></td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">989<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PartnersCapitalAccountDistributions', window );">Distributions to partners</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMinorityShareholders', window );">Capital contributions</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">2,026<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,124<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DueFromAffiliateNoncurrent', window );">Due from Primoris</a></td>
<td class="nump">476<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="nump">$ 434<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 425<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631418-115840<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631419-115840<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130533-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueFromAffiliateNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of receivables due from an entity that is affiliated with the reporting entity by means of direct or indirect ownership, due after 1 year (or 1 business cycle).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39622-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6918054&amp;loc=d3e56071-112765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39599-107864<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-06(3)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6488278&amp;loc=d3e604059-122996<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromAffiliateNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestOwnershipPercentageByParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The parent entity's interest in net assets of the subsidiary, expressed as a percentage.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestOwnershipPercentageByParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PartnersCapitalAccountDistributions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total distributions to each class of partners (i.e., general, limited and preferred partners).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 4.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187171-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PartnersCapitalAccountDistributions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-06(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6488278&amp;loc=d3e604059-122996<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=prim_CarlsbadConstructorsJointVentureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_OwnershipAxis=prim_CarlsbadConstructorsJointVentureMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis=prim_CarlsbadConstructorsJointVentureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableInterestEntitiesByClassificationOfEntityAxis=prim_CarlsbadConstructorsJointVentureMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
